问题标签 [nohup]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
17969 浏览

bash - sudo nohup nice <-- 按什么顺序?

所以我有一个脚本,我想以 root 身份运行,没有挂断并且很好。我应该按什么顺序输入命令?

sudo nohup nice foo.bash &

或者

nohup 不错的 sudo foo.bash &

等等

我怀疑这并不重要,但希望那些真正了解的人有一些见解。

0 投票
10 回答
487815 浏览

bash - 如何将已经运行的进程置于 nohup 下?

我有一个已经运行了很长时间并且不想结束它的进程。

如何将其置于 nohup 下(即,即使我关闭终端,如何使其继续运行?)

0 投票
4 回答
20113 浏览

nohup - 在执行期间删除 nohup 文件

我做了以下事情:

奇怪的是, nohup 命令继续运行。我等待创建一个新文件。令我惊讶的是,没有这样的文件。命令的标准输出到哪里去了?

0 投票
4 回答
7861 浏览

ruby-on-rails - 使用 Capistrano 启动后台任务

对于我的 RubyOnRails-App,我必须在 Capistrano 部署结束时启动后台作业。为此,我在 deploy.rb 中尝试了以下操作:

有时这可行,但大多数时候它不会启动进程(= 未在 ps -aux 中列出)。并且没有错误消息。并且没有 nohup.out,不在主目录中,也不在 rails app 目录中。

我尝试在 scheduler.rb 中使用 trap('SIGHUP', 'IGNORE') 而不是 nohup,但结果是一样的。

让它工作的唯一方法是删除 ":pty => true" 并在 "cap deploy" 结束时手动执行 Ctrl-C。但是我不喜欢这个...

还有其他机会调用这个 Scheduler.start 吗?或者获取更多错误信息?

我在服务器上使用 Rails 2.3.2、Capistrano 2.5.8、Ubuntu Hardy

0 投票
14 回答
31568 浏览

c# - 有什么方法可以在后台运行进程?

是否有任何命令行或 .NET 方法在后台运行进程隐藏它试图打开的任何窗口?

已经尝试过:

到目前为止没有成功

0 投票
4 回答
15343 浏览

bash - 为什么我退出 shell 时 unix 后台进程有时会死掉?

我想知道为什么我在 Bash shell 的后台进程中看到了不同的行为

案例一:使用Putty(SSH)登录Unix服务器

  • 默认情况下它使用 csh shell
  • 我改成 bash shell
  • 输入睡眠 2000 &
  • 按回车

它给了我工作编号。现在我通过单击腻子窗口中的 x 终止了我的会话现在打开另一个会话并尝试查找进程..进程死亡。

案例2:案例1:使用Putty(SSH)登录Unix服务器默认使用csh shell

  • 我改成 bash shell
  • vi mysleep.sh
  • sleep 2000 并保存 mysleep.sh
  • ./mysleep.sh

这里的区别是..而不是直接执行睡眠命令,我将睡眠命令存储在一个文件中并执行该文件。

现在我通过单击腻子窗口中的 x 来终止我的会话现在打开另一个会话并尝试查找进程..进程仍然存在

不知道为什么会这样。我认为即使在注销后我也需要在 bash 中进行 disown 以运行该过程。

我在父进程 id 中看到的一个差异..在第二种情况下..sleep 2000 的父进程 id 变为 1。看起来一旦 mysleep.sh 的进程死亡,内核就将父进程分配给 1。

0 投票
5 回答
42730 浏览

shell - 如何使用 ssh 在后台运行命令并分离会话

我目前正在尝试 ssh 进入远程机器并运行脚本,然后让节点运行脚本。下面是我的脚本。但是,当它运行时,脚本在机器上成功运行,但 ssh 会话挂起。有什么问题?

0 投票
4 回答
2421 浏览

python - 如何无限期运行服务器脚本

我想无限期地在远程 linux 服务器上运行异步程序。该脚本不会向服务器本身输出任何内容(除了偶尔将信息写入 mysql 数据库)。到目前为止,我能找到的唯一选项是 nohup 命令:

据我了解,即使在我退出 SSH 会话后,nohup 也允许命令运行,而“&”字符允许命令在后台运行。我的问题很简单:这是做我想做的最好的方法吗?我只是想长时间运行一个脚本,偶尔停止它进行更新。

另外,如果 nohup 确实是最好的选择,当我需要时终止脚本的正确方法是什么?关于什么是杀死 nohup 进程的最佳方法似乎存在一些分歧。

谢谢

0 投票
5 回答
12648 浏览

php - Windows机器上的PHP;在后台启动进程

我正在寻找最好的方法,或者任何真正在后台从 php 启动进程的方法,以便稍后在脚本中将其杀死。

现在,我正在使用:shell_exec($Command); 问题在于它等待程序关闭。

我想要在执行 shell 命令时与 nohup 具有相同效果的东西。这将允许我在后台运行该进程,以便稍后在脚本中将其关闭。我需要关闭它,因为此脚本将定期运行,并且在运行时程序无法打开。

我曾想过生成一个 .bat 文件以在后台运行命令,但即便如此,我以后如何终止该进程?

我在 linux 上看到的代码是:

编辑:原来我不需要终止进程

0 投票
3 回答
5728 浏览

python - 如何使用 paramiko 启动后台作业?

这是我的场景:我正在尝试使用 Paramiko 自动化一些任务。需要按以下顺序启动任务(使用符号(主机,任务)):(A,1),(B,2),(C,2),(A,3),(B,3) - - 基本上以正确的顺序启动服务器和客户端进行一些测试。此外,因为在测试中网络可能会被搞砸,并且因为我需要测试的一些输出,所以我只想将输出重定向到一个文件。

在类似情况下,常见的响应是使用“screen -m -d”或使用“nohup”。但是使用 paramiko 的 exec_cmd,nohup 实际上并没有退出。使用:

也不起作用, exec_cmd 仍然阻止处理结束。

在屏幕情况下,输出重定向不能很好地工作,(实际上,我能弄清楚的最好的工作都没有)。

所以,在所有这些解释之后,我的问题是:是否有一种简单优雅的方式来分离进程并以结束 paramiko 的 exec_cmd 阻塞的方式捕获输出?

更新

dtach 命令很好地解决了这个问题!