如果我们在完成命令之前关闭终端怎么办?

时间:2013-01-31 20:33:50

标签: linux terminal command

让我更好地解释一下。如果我在Linux中运行命令并且在它完成之前会发生什么,你可以输入另一个命令我关闭终端。它还会执行命令吗?

4 个答案:

答案 0 :(得分:2)

通常,您必须期望关闭终端会挂断您的命令。 但不要害怕! 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命令代表“无挂断”,它将确保您执行的命令继续运行,即使您关闭终端也是如此。

答案 1 :(得分:1)

这取决于进程和您的环境(作业控制shell选项,VNC等)。但通常,没有。该过程将从操作系统获得“挂起”信号(消息),一旦收到该信号,将退出。

例如,nohup命令安排进程忽略来自操作系统的挂起信号。有很多方法可以达到相同的效果。

答案 2 :(得分:1)

我会说它会在会议结束之前中止您的状态。

如果您想确保完成作业,则需要使用nohup命令。

  

http://en.wikipedia.org/wiki/Nohup

了解nohups和守护进程(-d)......

一个好的链接是[link] What's the difference between nohup and a daemon?

答案 3 :(得分:0)

值得一看screen命令,屏幕命令可以从会话中分离长时间运行的进程(或程序或shell脚本),然后再将其附加回来。