我想在后台运行作业,这样一旦启动任何作业,我就可以从终端注销。我知道两种方法
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/

10-13 05:52