标签: nohup

nohup 和 ">& nohup.out &" 有什么区别?

nohup 使进程对 shell 的 SIGHUP 免疫,但即使我从我的 shell 运行它:

bash -c 'while true; do sleep 1; date; done' >& nohup.out &
Run Code Online (Sandbox Code Playgroud)

然后注销并重新登录,bash 仍在运行并向 nohup.out 生成输出。有什么区别吗?仅仅依靠重定向在任何方面都不那么可靠吗?

bash shell nohup

5
推荐指数
1
解决办法
5274
查看次数

Nohup & Sass:进程继续运行,但一段时间后,*.scss 文件不会被编译

我在 CentOS 5.8 服务器上使用 Sass 并希望它在 SSH 注销后继续运行,以便其他用户可以编辑 *.scss 文件数天甚至数周,而无需每次登录时启动程序(实际上,他们甚至没有 SSH 访问权限)。

我使用了这个问题/答案中的以下命令:

$ nohup sass --watch path/to/scss/files:path/to/css/output/files &

然后,我退出 SSH 会话,进程继续运行。在最初的几分钟内一切正常(再次登录并使用 touch 创建测试文件(test.scss)正确触发相应 test.css 文件的创建),但过了一会儿 *.scss 文件停止获取编译...然而,

$ ps 辅助 | grep 'sass'

显示进程仍在运行。

有谁知道我做错了什么?

编辑:这是我从 nohup.out 得到的输出:

/usr/local/rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/yaml.rb:56:in `':
看来您的 ruby​​ 安装缺少 psych(对于 YAML 输出)。
要消除此警告,请安装 libyaml 并重新安装 ruby​​。
>>> Sass 正在关注变化。按 Ctrl-C 停止。
>>> 检测到新模板: 
/home/*/sites/all/themes/test.scss
  覆盖 private_html/sites/all/themes//test.css
>>> 检测到删除的模板: 
/home/*/sites/all/themes/test.scss

与 YAML 相关的错误似乎与问题无关,因为 Sass 在短时间内正常工作。即使进程仍在运行,它也会在某个时候默默地停止工作......

terminal process nohup

5
推荐指数
1
解决办法
1295
查看次数

从 Jenkins 执行脚本时 Nohup 不起作用

我有执行以下操作的 bash 脚本

nohup ws --port 8080 &
Run Code Online (Sandbox Code Playgroud)

直接在远程服务器上执行该脚本并关闭连接时 - 进程仍然存在。但是当我使用 Jenkins“SSH 插件”时 - Jenkins 关闭连接后进程停止。要执行该脚本,我使用简单命令 sh scriptName.sh

linux command-line nohup jenkins

5
推荐指数
1
解决办法
7704
查看次数

管道/发送命令以处理在 nohup 上运行的进程,该进程接受来自 STDIN 的输入

我有一个使用nohup program &. 该程序接受来自 的输入STDIN。有没有办法将文本发送到STDIN正在运行的程序的nohup

这是在运行 bash 的 FreeBSD 上。我也想看看这是如何在 linux 上完成的。

nohup pipe

4
推荐指数
1
解决办法
1万
查看次数

python 与 nohup 的运行方式不同

我有一个 python 包,当我作为python -m myproject. 但是,当我作为 启动时nohup python -m myproject,我得到一个ImportError. 此外,当我作为 启动时nohup python3 -m myproject,它可以正常工作。

问题似乎是我python的别名为 python3 而 nohup 以某种方式使用非默认 python。为什么会这样?

unix python nohup

4
推荐指数
1
解决办法
5230
查看次数

tmux 重启后远程代码执行

我已经阅读了 about tmux-resurrect,但我仍然不清楚是否可以执行以下操作:

  1. 开始tmux会话
  2. ssh 到远程服务器
  3. 在远程主机上启动长时间运行的代码
  4. 杀死 tmux 服务器(例如本地机器重启)
  5. 恢复和重新附加 tmux 会话(例如使用tmux-resurrect
  6. 继续监视我在远程服务器上启动的代码

我需要nohup在步骤 3 中使用吗?或者可以tmux-resurrect(或其他工具)处理它吗?

ssh nohup tmux

4
推荐指数
1
解决办法
676
查看次数

给定带参数的命令时出现 nohup 问题

尝试:

while true; do date; sleep 1; done
Run Code Online (Sandbox Code Playgroud)

得到了:

Thu Aug 27 17:33:24 IDT 2009
Thu Aug 27 17:33:25 IDT 2009
Thu Aug 27 17:33:26 IDT 2009
...
Run Code Online (Sandbox Code Playgroud)

但:

nohup while true; do date; sleep 1; done
Run Code Online (Sandbox Code Playgroud)

得到我:

bash: syntax error near unexpected token `do'
Run Code Online (Sandbox Code Playgroud)

任何想法为什么?

signal nohup

3
推荐指数
1
解决办法
7991
查看次数

如何确定程序是否使用 nohup 运行?

ps -ef | grep sleep命令的输出没有区别:

nohup sleep 60 &

sleep 60 &

我可以通过哪种方式发现该程序运行nohup

linux shell process nohup

3
推荐指数
1
解决办法
2万
查看次数

nohup 进程未使用 `ps` 列出

nohup可以帮助用户在注销后保持进程运行。

但是当我注销并再次登录时,该过程python消失了。

登出前

之前的控制台截图

重新登录

控制台截图后

我们可以发现python进程已经停止了。

PS:系统是Cent OS 7.0。

linux ssh nohup ps

3
推荐指数
1
解决办法
2478
查看次数

是否可以更改 linux 中正在运行的进程,以便它在注销时不会退出?

我知道您可以用来nohup在注销后保持作业运行,但是一个已经在运行的进程呢?

有没有办法改变它的状态,以便即使我注销它也能继续运行?

linux process nohup

2
推荐指数
1
解决办法
1544
查看次数

如何在后台执行linux命令?

目前,我正在使用nohup command &它在后台发送。但问题是:如果我执行,nohup command &我会退出:

root@ubuntu:/home/test# nohup sleep 10 &
[2] 52439
root@ubuntu:/home/test# nohup: ignoring input and appending output to `nohup.out'
<I need to press ENTER key here to take back my shell control.>
root@ubuntu:/home/test#
Run Code Online (Sandbox Code Playgroud)

我需要做什么 :

root@ubuntu:/home/test# nohup sleep 10 &
[2] 52439
root@ubuntu:/home/test# nohup: ignoring input and appending output to `nohup.out'
root@ubuntu:/home/test#
Run Code Online (Sandbox Code Playgroud)

我不想在nohup sleep 10 &.

因为,我正在处理自动化部分,我需要在将一个命令发送到后台后,我应该能够在不按任何键的情况下执行下一个命令。喜欢:

root@ubuntu:/home/test# nohup start-server.py &
root@ubuntu:/home/test# nohup start-client.py &
Run Code Online (Sandbox Code Playgroud)

[start-server.py需要在后台运行。] 但问题是,在 start-server.py 执行后,它不会执行下一个命令。我需要按“ENTER KEY”来执行下一个命令。 …

shell prompt nohup

2
推荐指数
1
解决办法
3万
查看次数

Nohup 不在后台运行进程

我跑

nohup bash -c "while [ true ]; do echo test; done"
Run Code Online (Sandbox Code Playgroud)

来自PuTTySSH 客户端,但在此进程不在后台运行之后,而是nohup在 shell 中保持为前台进程。

软件版本: nohup (GNU coreutils) 8.5

linux ssh nohup

1
推荐指数
1
解决办法
9110
查看次数

标签 统计

nohup ×12

linux ×5

process ×3

shell ×3

ssh ×3

bash ×1

command-line ×1

jenkins ×1

pipe ×1

prompt ×1

ps ×1

python ×1

signal ×1

terminal ×1

tmux ×1

unix ×1