很多时候,我们前端运行了个命令,比如传输大文件,一时半会,运行不完,想把命令放在后台运行,但是这个时候已经运行了一段时间了。又不想退出,重新nohup执行。该怎么办呢?今天给大家一个小帖士,希望对大家的工作有所帮助。比如我们正在运行一个scp命令
scp riggers-cgmesh.zip root@47.90.116.168:/mnt
[1]+ 已停止 scp riggers-cgmesh.zip root@47.90.116.168:/mnt
解释:ctrl-z: ( suspend foreground process ) 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程,而并非结束进程,用户可以使用使用fg/bg操作恢复执行前台或后台的进程。fg命令在前台恢复执行被挂起的进程,此时可以使用ctrl-z再次挂起该进程,bg命令在后台恢复执行被挂起的进程,而此时将无法使用ctrl-z再次挂起该进程;
2.jobs
[1]+ 已停止 scp riggers-cgmesh.zip root@47.90.116.168:/mnt
3.bg %1
[1]+ scp riggers-cgmesh.zip root@47.90.116.168:/mnt &
解释:把上面的进程放在后台执行
4.disown -h %1
解释:将这个作业忽略HUP信号:
5.ps -ef | grep scp
root 5828 697 0 1月21 pts/1 00:00:01 scp riggers-cgmesh.zip root@47.90.116.168:/mnt
root 5829 5828 0 1月21 pts/1 00:00:07 /usr/bin/ssh -x -oForwardAgent=no -oPermitLocalCommand=no -oClearAllForwardings=yes -l root -- 47.90.116.168 scp -t /mnt