进程在前后台转换需要涉及4个命令及一个组合:
1. &: 后台运行
2. bg: 将后台程序由stoped转为running
3. fg: 将后台程序转到前台
4. jobs: 查看后台运行的进程
5. Ctrl + z:将一个正在前台执行的命令放到后台,并且暂停
一、后台运行
1. 若想进程在后台运行,调用命令时在最后添加一个&,进程便在后台运行;
2. 对于在前台运行进程,先调用Ctrl + z转入后台,但此时进程是Stopped,通过jobs命令查看进程的jobnum,然后通过bg + %jobnum将一个在后台暂停的命令变成Running。
3. 直接使用&进入后台,如果进程不是守护进程,而是一般程序,则在终端退出后进程也会退出,原因是后台进程的父进程是终端,当终端退出后进程也会退出,除非进程了配置;解决方法是使用nohup命令,使用方法为:
nohup comand &
nohup可以让你的shell命令忽略SIGHUP信号,没有父进程,则当终端退出后,进程还会在后台运行。使用nohup后,进程输出会定向到nohup.out中,若不进行及时清理,则会越来越大,清理方式为:cat /dev/null > nohup.out
二、前台运行
1. 直接调用命令,不要加&
2. 通过fg将后台进程转为前台
阅读(568) | 评论(0) | 转发(0) |