问题标签 [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 投票
5 回答
14084 浏览

bash - 如何在不产生两个进程的情况下以不同用户身份运行 nohup?

我正在尝试 nohup 一个命令并以不同的用户身份运行它,但是每次我这样做时都会产生两个进程。

例如:

这肯定会以无人身份运行 my_command,但是还有一个我不想显示的额外过程:

如果我杀死根进程,nobody 进程仍然存在......但是有没有办法根本不运行根进程?由于获取 my_command 的 id 并杀死它有点复杂。

0 投票
1 回答
115 浏览

ubuntu - 服务器宕机时使用nohup?

我正在我的计算机上运行测试(我使用的是 Ubuntu),这最多需要 30-45 分钟。当我正在使用的服务器出现故障时(出于任何原因),我的测试将停止,我必须从乞讨开始重做每个测试。我想知道当服务器出现故障时,使用 nohup 是否仍会保持测试运行。

0 投票
3 回答
4694 浏览

linux - Linux 脚本 - 即使在注销时如何保持运行?

我刚刚启动了一个 CS GO 服务器,我会使用 TCAdmin 一个 GUI 来制作游戏服务器,但由于 Counter Strike GO 处于测试阶段,所以不能很好地使用它。我的问题是我有一个名为 ./srcds_run 的脚本,然后我运行它。完美运行。但是我如何让它作为后台进程运行,这样我就可以注销并将服务器留在那里?

谢谢,死灵。

0 投票
3 回答
1608 浏览

linux - nohup 和现在的区别

似乎nohupat now没有区别,但也许有微妙之处?

0 投票
2 回答
14489 浏览

bash - 如何在 bash 中编写看门狗守护进程?

我想要一种在 shell 脚本中编写守护程序的方法,它在循环中运行另一个应用程序,如果它死了就重新启动它。

  • 当使用./myscript.shSSH 会话运行时,它将启动一个新的守护进程实例,除非守护进程已经在运行。
  • 当 SSH 会话结束时,守护进程将继续存在。
  • 应该有一个参数(./myscript -stop)杀死任何现有的守护进程。

编辑注意事项- 原始问题指定nohup不得使用类似工具。这种人为要求是“XY问题”,而接受的答案实际上使用了OP声称无法使用的所有工具。)

0 投票
3 回答
209 浏览

bash - 启动另一个应用程序的脚本将在退出时将其关闭

我有一个使用 启动另一个应用程序的脚本nohup my_app &,但是当初始脚本终止时,启动的进程也会停止。根据我的理解,因为它已经运行,nohup所以不应该发生这种情况。原始脚本也使用 nohup 调用。

那里出了什么问题?

0 投票
2 回答
3361 浏览

bash - 将 nohup 的输出错误发送到 syslog

我正在尝试编写一个使用 nohup 并将错误传递给 rsyslog 的 bash 脚本。

我已经尝试过使用 log 变量的不同变体(见下文)的这个命令,但除了 std txt 文件之外,无法将输出传递给任何东西。我不能让它管。

是否可以管道 nohup 输出或者我需要不同的命令。

我尝试过的几种日志变体

或者

或者

0 投票
2 回答
2291 浏览

java - jsch & nohup - 程序无法启动

我想使用 jsch 和 'nohup with &' 命令在后台启动我的程序。这是我的代码:

作为我得到的输出:

但程序没有启动。没有'&'它可以工作,但没有它。同样的情况是当我将 nohup 命令放入 .sh 脚本然后运行它时。任何想法如何解决这个问题?

提前致谢!

0 投票
1 回答
498 浏览

java - sh脚本中的nohup不起作用

我的 sh 脚本有问题。我正在编写一个允许我在后台执行 java 脚本的 sh 脚本,并在执行它之前检查它是否正在运行。

代码在这里:

我遇到的问题是,在设置nohup ... &以便在后台 jar 文件中执行时没有做任何事情。如果我写:

然后它工作。我的 jar 文件正在使用石英库(Java 的调度程序库),我不知道你们中是否有人知道 nohup 和石英之间是否有任何不兼容...

或者,设置 JVM 变量( -Dprops.dir=conf)可能存在某种问题

谢谢!

0 投票
1 回答
10906 浏览

bash - 通过 ssh 获取以 nohup 启动的进程的 PID

我想通过 ssh 在远程机器上使用 nohup 启动一个进程。问题是如何让进程的PID以nohup启动,所以“进程实际上在做某事”,而不是一些外壳实例等。另外,我想将 stdout 和 stderr 存储在文件中,但这不是这里的问题......

在本地,它可以完美地使用

它向我呼应了命令“sleep 30”的确切 PID,我也可以使用“top”或“ps aux|grep sleep”看到它。

但我无法通过 ssh 远程执行此操作。我尝试了类似的东西

但我不知道在哪里放置“回声$!” 以便它显示在我的本地外壳中。它总是向我显示错误的 PID,例如“bash”实例之一等。

有人知道如何解决这个问题吗?

编辑:好的,这里可能不需要“bash -c”。就像 Lotharyx 指出的那样,我可以很好地使用正确的 PID

但问题是,如果你用产生输出的东西代替“sleep 30”,比如“echo Hello World!”,那么输出不会在文件“out”中结束,无论是在本地还是在远程端。有人知道为什么吗?

EDIT2:我的错!另一台设备上没有剩余空间,这就是文件“out”和“err”保持空白的原因!

所以这是有效的。另外,如果要连续调用多个命令,用分号(;)分隔,仍然可以使用“bash -c”,如下所示:

然后它在本地打印出“bash -c”的PID,这很好。(不可能得到“最内层”或“忙碌”进程的PID,因为每个程序本身都会产生新的子进程,没有办法找出来……)