Linux进程管理(3)

后台进程管理

父进程fork()一个子进程后将进入sleeping,直至子进程结束,使用作业控制可以选择性暂停,恢复以及异步运行命令,让shell可以在子进程运行期间返回接受其他命令

有关命令

jobs:查看在后台的所有进程
	 jobs命令显示的是当前shell环境中所有的后台正在运行或者被挂起的任务信息
	 -l选项可显示所有任务的PID
fg:将后台命令调到前台
bg:让后台暂停的命令继续运行(在后台运行)
	 将任务转移到后台运行:
	 先ctrl + z;再bg,这样进程就被移到后台运行,终端还能继续接受命令

当前任务
如果后台的任务号有2个,[1],[2];当第一个后台任务顺利执行完毕,第二个后台任务还在执行中时,当前任务便会自动变成后台任务号码“[2]” 的后台任务。所以可以得出一点,即当前任务是会变动的。当用户输入“fg”、“bg”和“stop”等命令时,如果不加任何引号,则所变动的均是当前任务

进程终止kill
方法一:
通过jobs命令查看进程号,然后执行kill %num
方法二:
通过ps命令查看进程的PID,kill pid

快捷键
ctrl+z(挂起):将任务暂停,放到后台挂起
ctrl+c(中断):强行终止前台当前程序的执行

ctrl-c 发送 SIGINT 信号给前台进程组中的所有进程。常用于终止正在运行的程序。
ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程。

&
已知当前运行程序耗时,直接在命令后加&符号挂到后台运行
未知程序耗时时,在命令执行后,ctrl+z,将程序暂停挂到后台,再使用bg[num]使命令在后台运行即可

发布了14 篇原创文章 · 获赞 3 · 访问量 641

猜你喜欢

转载自blog.csdn.net/weixin_43665682/article/details/104246006