学而实习之 不亦乐乎

Linux:nohup输入密码后继续在后台运行

2020-09-06 15:36:11

1.命令在后台运行

在Linux中,如果希望在后台运行,只需要在命令行的末尾添加 & 符号就可以了,但更好的做法是在命令行之前添加 nohup,如:

$ nohup make -j 48 &
$ nohup zip -e virus -r sample.zip sample &

对上述耗时但不需要交互的命令,我们采用上述方法,即使出现了错误也会记载在 nohup.out 文件中。


2.交互式命令行在后台运行

如果我们命令需要交互,上面的方法就不太好用了,比如使用 scp 命令传输文件时需要输入目标主机的用户名和密码等。

对此我们稍作优化便可以解决上述问题:使用scp传输大文件注意末尾不用加&

$ nohup scp test.tar.gz 10.96.251.72:/data
nohup: appending output to `nohup.out'
Password:

输入密码后按:ctrl+z
[1]+  Stopped                 nohup scp test.tar.gz 10.96.251.72:/data

然后紧接着输入:
$ bg

上述命令便又能在后台恢复运行了
[1]+ nohup scp test.tar.gz 10.96.251.72:/data