我想在后台运行作业,这样一旦启动任何作业,我就可以从终端注销。我知道两种方法
1)运行作业,然后按CTRL+Z,然后输入bg
mysqldump -uroot -p dbname > dbname.sql
2)使用nohup运行作业,然后按ctrl+z,然后输入bg
nohup mysqldump -u root -p dbname > dbname.sql 2>&1
我想知道上面两个命令之间的区别,以及在哪种情况下哪一个命令最好。
最佳答案
将流程作为作业运行会将作业约束到当前会话。所以如果你跑
$ start_running_job &
$ exit
当您退出时,作业将停止。
按control-z的效果与上述行相同。
运行nohup会放置作业,使其在当前会话结束时存活。所以如果你跑
$ nohup start_running_job &
$ exit
作业将继续运行。
关于linux - Linux中的nohup和ctrl + z命令之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32601875/