繁体   English   中英

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

[英]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命令。

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

了解有关nohups和守护程序(-d)的信息...

一个很好的链接是[link] nohup和一个守护进程有什么区别?

值得一看的是screen命令,Screen命令提供了从会话中分离长时间运行的进程(或程序或shell脚本),然后在以后附加它的功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM