我编写了一个C程序并在我的Linux计算机上对其进行了测试。如何在服务器上启动C程序以在后台运行
我已经将它上传到我的服务器,并希望它在整个运行期间作为后台进程运行。
如何启动一个在关闭腻子后继续运行的程序?
感谢您的帮助!
我编写了一个C程序并在我的Linux计算机上对其进行了测试。如何在服务器上启动C程序以在后台运行
我已经将它上传到我的服务器,并希望它在整个运行期间作为后台进程运行。
如何启动一个在关闭腻子后继续运行的程序?
感谢您的帮助!
你可以离开这个项目,通过增加&的号召
所以运行时,你一直在SSH之前执行这样的代码:
./mycode
你把它想:
./mycode &
如果您想要在后台运行程序,您必须将'&'字符添加到命令中。
./program &
但是该过程将与当前tty关联。如果关闭当前的tty(在你的情况下为SSH会话),SIGHUP信号被发送到与tty相关的所有进程,导致它们完成。您可以使用ps命令查看关联的tty到一个进程。
不对命令可用于标记作业,以便SELLUP信号不发送给它们,如果父shell收到它。在关闭当前tty之前,您可以编写:
disown %jobID
当您在后台运行程序时,可以看到括号中的jobID。您也可以通过作业命令查看jobID。
您可以直接运行该命令,以便SIGHUP信号不会发送给他。为此,您可以使用nohup命令。
nohup ./program &
避免用SIGHUP信号结束程序的另一种方法是在程序中捕获该信号。在C程序中,您可以使用信号做到这一点 signal.h中的函数
但是,如果要将程序作为守护程序或服务器运行,最好编写Systemd服务或System V init脚本。