[英]What if we close the terminal before finishing the command?
让我更好地解释。 如果我在Linux上运行一个命令,然后又未完成,然后输入另一个命令,我将关闭终端,那将会发生什么。 它会继续执行命令吗?
通常,您必须期望关闭终端会挂断您的命令。 但是不要害怕! Linux也有一个解决方案!
为确保命令完成,请首先使用nohup参数。 只需将其放在您尝试做的事情之前:
nohup ./some_program
nohup ./do_a_thing -frx -file input_file.txt
nohup grep "something" giant_list_of_files/* > temp_file.txt
nohup
命令代表“不挂机”,它将确保您执行的命令继续运行,即使您关闭终端也是如此。
这取决于过程和您的环境(作业控制外壳选项,VNC等)。 但通常不。 该过程将从操作系统获得“挂断”信号(消息),并且在收到该信号后将退出。
例如, nohup
命令安排进程忽略来自OS的挂断信号。 有很多方法可以达到相同的结果。
我会说它将在会话关闭之前中止您的状态。
如果要确保完成作业,则需要使用nohup命令。
了解有关nohups和守护程序(-d)的信息...
一个很好的链接是[link] nohup和一个守护进程有什么区别?
值得一看的是screen命令,Screen命令提供了从会话中分离长时间运行的进程(或程序或shell脚本),然后在以后附加它的功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.