致访客
感谢各位一年多的陪伴,因内容调整,本站将于近日迁移到新域名并不再更新主要内容。
特此通知。
感谢各位一年多的陪伴,因内容调整,本站将于近日迁移到新域名并不再更新主要内容。
特此通知。
概述
有时使用SSH连接了服务器,运行了某个程序,此时断掉SSH连接,程序也停止运行了。
如果想实现断开SSH程序继续后台运行,则需要使用nohup命令来实现。
后台运行
Linux中执行的一般都是.sh文件。
借助nohup可以使程序在后台运行
nohup java -jar test.jar $1 $2 &
说明
- nohup表示不挂断的运行命令
- &表示命令在后台运行
查看后台运行的程序/命令
只运行不查看是不太现实的,所以要用到另外两条命令查看后台运行的程序
jobs
注意:命令行中使用 nohup和& 时,jobs命令才能将它显示出来。
即:.sh中包含nohup和&,执行该sh是不会显示的
ps -aux|grep java
而常用的ps命令则可以显示后台程序
终止命令/程序
kill 命令
- jobs命令查看jobnum,执行 kill %jobnum
- ps命令查看PID,执行 kill %PID
前后台进程切换与控制
- fg命令:将后台中的命令调至前台继续运行。使用jobs查看jobnum,用 fg %jobnum 将选中的命令/程序调出。
- Ctrl+Z:将正在运行的前台程序放到后台且暂停
- bg命令:将一个在后台暂停的命令/程序继续后台执行。用jobs查看jobnum后,用 bg %jobnum 继续执行。