Linux前后台进程切换详解程序员

(1).Linux前台进程与后台进程的区别

  前台进程:是在终端中运行的命令,那么该终端就为进程的控制终端,一旦这个终端关闭,这个进程也随之消失。

  后台进程:也叫守护进程(Daemon),是运行在后台的一种特殊进程,不受终端控制,它不需要终端的交互;Linux的大多数服务器就是使用守护进程实现的。比如Web服务器的httpd等。

(2).进程的前台与后台运行

  与系统任务相关的几个命令(了解):

& 用在一个命令的最后,可以把这个命令放到后台执行
<Ctrl>+z 将一个正在前台执行的命令放到后台,并暂停
jobs 查看当前有多少在后台运行的进程。这是一个作业控制命令
fg(foregroud  process) 将后台中的命令调至前台继续运行。如果后台中有多个命令,可以用fg [jobnumber]将选中的命令调出,jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
bg(backgroud  process) 将一个在后台暂停的命令,变成继续执行。如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

(3).&的使用

  如果直接使用&,部分命令仍然在前台显示,例如”ping 127.0.0.1 &”。此时我们可以使用nohup命令帮助,”nohup ping 127.0.0.1 &”,在执行时会创建一个nohup.out的文件。

(4).恢复被挂起的进程

  首先准备一个实验环境,创建三个被挂起的进程

[[email protected] ~]$ vim 1.txt 
 
[1]+  已停止               vim 1.txt 
[[email protected] ~]$ vim 3.txt 
 
[2]+  已停止               vim 3.txt 
[[email protected] ~]$ vim 2.txt 
 
[3]+  已停止               vim 2.txt 
[[email protected] ~]$ ps -aux | grep vim 
xf        10277  0.2  0.2 151796  5372 pts/0    T    14:02   0:00 vim 1.txt 
xf        10284  0.4  0.2 151796  5352 pts/0    T    14:02   0:00 vim 3.txt 
xf        10291  1.5  0.2 151796  5376 pts/0    T    14:02   0:00 vim 2.txt 
xf        10299  0.0  0.0 112724   988 pts/0    S+   14:02   0:00 grep --color=auto vim 

  接着查看后台进程

[[email protected] ~]$ jobs 
[1]   已停止               vim 1.txt 
[2]-  已停止               vim 3.txt 
[3]+  已停止               vim 2.txt 

  恢复vim 3.txt的进程

[[email protected] ~]$ fg 2 
vim 3.txt 

  

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/2803.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论