PuTTY 或其他-退出 PuTTY 后仍继续执行命令

PuTTY 或其他-退出 PuTTY 后仍继续执行命令

我有几个命令需要运行。这些命令需要在我退出界面后继续运行。当我可以访问 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" &

任何帮助都感激不尽。

答案1

尝试

nohup Background_ScriptX &

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

希望这对您有帮助。

答案2

如果您想稍后读取输出,可以使用screen

screen -d -m my_command

这将为您提供一个独立的终端,您可以稍后连接到该终端 ( screen -r) 来读取 stdout/stderr 输出。

答案3

nohup如果命令不可用,另一个选择是使用否认命令。

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

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

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

希望这可以帮助。

答案4

您也可以尝试: setsid Setsid 也适用于后台程序,并允许它们在终端/ssh 会话断开连接后继续运行。

使用方式如下:

setsid program-to-background

手册页:http://man7.org/linux/man-pages/man2/setsid.2.html

相关内容