PuTTY 或 OTHER - 即使退出 PuTTY 后仍继续执行命令

use*_*952 13 linux command-line process putty gnu-screen

我有几个命令需要运行。即使在我退出界面后,这些命令也需要继续运行。当我可以访问 Linux GUI 时,我会执行以下操作:

cd /home/testuser/Scripts*
xterm -hold -T "Background_Script1" -e  "service1-start.sh" &
sleep 10
xterm -hold -T "Background_Script2" -e "service2-start.sh" &
Run Code Online (Sandbox Code Playgroud)

任何帮助都感激不尽。

小智 33

尝试

nohup Background_ScriptX &

nohup 确保在终端关闭时不会终止进程。& 符号将进程推入后台。

希望这是有帮助的。

  • _screen_ 比 _nohup_ 有一个明显的优势:_nohup_ 不允许您返回到正在运行的命令(例如,第二天早上读取其标准输出,然后选择终止它等)。_screen_ 可以让您做到这一点。 (15认同)

Mar*_*ark 20

如果要在以后读取输出,可以使用screen

screen -d -m my_command
Run Code Online (Sandbox Code Playgroud)

这为您提供了一个分离的终端,您可以稍后连接到 ( screen -r) 以读取 stdout/stderr 输出。

  • +1。一方面,如果您关闭终端(例如 putty),然后再次打开它并重新附加到屏幕(`screen -r`),您还将拥有程序生成的所有输出,否则您将“错过”。另外,screen 可以做很多神奇的事情,比如分屏等等!:) (2认同)

小智 6

如果nohup命令不可用,另一种选择是使用disown命令。

首先,您可以通过jobs在终端中运行来查看后台任务。您可以从那里获得工作编号。

现在只需运行disown %[job number],该进程将与当前终端分离并在您注销时保持活动状态。

旁注:确保你问的是正确的问题。如果您按照示例中的提示运行实际服务,您可能需要研究如何在您选择的操作系统中创建守护程序。这是为了确保该进程在重新启动后仍然运行,并使其与其他服务更加一致。

希望这可以帮助。


归档时间:

查看次数:

5023 次

最近记录:

10 年,11 月 前