本节可以学到:
- linux系统后台进程的概念
- 后台进程与前台进程的区别以及区分方法
- 后台进程相关的命令
更新记录
- 2017/10/18:写完初稿
后台进程
后台进程(Background Process)是一种在不需用户干预
的情况下运行于操作系统后台
的计算机进程
通常用于执行如日志记录
、系统监测
、作业调度
以及用户提醒
等任务。
区分方法
- 进程组ID
在UNIX与类UNIX系统中,后台进程的进程组ID
即PGID,可用ps命令获得)与控制终端进程组ID
(即TPGID)不同,因而也可以此辨识后台进程。 - 用户交互
后台程序基本上不和用户交互,优先级别稍微低一点
前台的程序和用户交互,需要较高的响应速度,优先级别稍微高一点
相关命令
1. & 最经常被用到
这个用在一个命令的最后,可以把这个命令放到后台执行
用户可使用“&”操作符以启动进程并使之运行于后台,但标准输出(stdout)和标准错误输出(stderr)若未重定向则仍于前台(即当前父终端)输出。
2. ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
3. jobs
查看当前有多少在后台运行的命令
([作业号] 运行状态 作业名称)
4.fg <%int>
将后台中的命令调至前台继续运行
5. bg <%int>
将一个在后台暂停的命令,变成继续执行
SIGCONT–将后台任务唤醒,在后台运行;
kill(pid,SIGCONT);
The SIGCONT signal instructs the operating system to continue (restart) a process previously paused by the SIGSTOP or SIGTSTP signal.
参考链接
1.https://my.oschina.net/u/2467198/blog/619071
2.https://zh.wikipedia.org/wiki/%E5%90%8E%E5%8F%B0%E8%BF%9B%E7%A8%8B