美文网首页
Linux的前后台进程 2020-01-26(未经允许,禁止转载

Linux的前后台进程 2020-01-26(未经允许,禁止转载

作者: 9_SooHyun | 来源:发表于2020-01-26 23:11 被阅读0次

Linux中,进程可分为前后台进程

1前台进程

前台进程可以理解为绑定了shell的进程
举个例子,在kali中打开一个终端,输入firefox启动火狐浏览器,然后关闭终端,这时firefox会一起被关闭。这里的firefox进程就是前台进程,它的存活依赖对应的shell

note:亲测,在Windows cmd 和 power shell中打开chrome.exe程序,关闭cmd或power shell,谷歌浏览器依然健在---20200126

2后台进程

后台进程就是守护进程(daemon),它独立于终端存在,只要机器不断电,它就活着。后台进程往往执行一些长期的、稳定的任务。例如,httpd是Apache超文本传输协议(HTTP) 服务器的主程序,被设计为一个独立运行的后台进程

3前后台进程的感知差别

  • 前台进程是和用户直接交互的进程。从现象上看,一个进程正在和用户交互,那么它就是前台进程。前台前台,前台当然是直接接待客户的妹子啊
  • 后台后台,躲在背后干苦力,所以后台进程基本上不和用户打交道。很多系统服务就是后台进程

4Linux前后台进程的切换

  1. command& 让command启动的进程在后台运行。如 root@kali:~# firefox&
  2. jobs 查看后台运行的进程
  3. fg %jobsid 让后台运行的jobsid进程到前台来(注意是jobsid不是pid)
  4. bg %jobsid 让jobsid进程到后台去(注意是jobsid不是pid)
  5. ctrl + z 将当前前台任务暂停。暂停后可通过bg指令将其放置后台

5.设置命令不间断后台运行

prepare:

  1. command [Arg] &
    在当前session中,command在后台运行。若session关闭或者terminal关闭,则command的相关进程killed。因此,command [Arg] & 依赖session

  2. nohup command [Arg]
    保持command不挂断地运行,当terminal关闭时忽略terminal的关闭信号而保持运行。 nohup command [Arg]不依赖session
    无论是否重定向nohup命令的输出,相关的输出都会>到nohup.out文件

因此,设置某命令持续后台运行,常用:

nohup command [Arg] &

相关文章

网友评论

      本文标题:Linux的前后台进程 2020-01-26(未经允许,禁止转载

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