美文网首页
Linux前台进程与后台进程的区别

Linux前台进程与后台进程的区别

作者: 哆啦A梦_ca52 | 来源:发表于2020-11-12 10:55 被阅读0次

    (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).恢复被挂起的进程

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    [xf@xuexi ~]$ vim 1.txt

    [1]+ 已停止 vim 1.txt
    [xf@xuexi ~]$ vim 3.txt

    [2]+ 已停止 vim 3.txt
    [xf@xuexi ~]$ vim 2.txt

    [3]+ 已停止 vim 2.txt
    [xf@xuexi ~]$ 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
      接着查看后台进程

    1
    2
    3
    4
    [xf@xuexi ~]$ jobs
    [1] 已停止 vim 1.txt
    [2]- 已停止 vim 3.txt
    [3]+ 已停止 vim 2.txt
      恢复vim 3.txt的进程

    1
    2
    [xf@xuexi ~]$ fg 2
    vim 3.txt

    相关文章

      网友评论

          本文标题:Linux前台进程与后台进程的区别

          本文链接:https://www.haomeiwen.com/subject/cdgubktx.html