百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文
系统运行shell命令时,忘记nohup了,怎么办?

系统运行shell命令时,忘记nohup了,怎么办?

  • 网站名称:系统运行shell命令时,忘记nohup了,怎么办?
  • 网站分类:技术文章
  • 收录时间:2025-07-16 15:46
  • 网站地址:

进入网站

“系统运行shell命令时,忘记nohup了,怎么办?” 网站介绍

背景

很多时候,我们前端运行了个命令,比如传输大文件,一时半会,运行不完,想把命令放在后台运行,但是这个时候已经运行了一段时间了。又不想退出,重新nohup执行。该怎么办呢?今天给大家一个小帖士,希望对大家的工作有所帮助。比如我们正在运行一个scp命令

scp riggers-cgmesh.zip root@47.90.116.168:/mnt

  1. 输入ctrl + z 暂停

[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