1.默认情况下,进程是在前台运行的,这时就把shell占据了(有很多日志打印输出),我们无法进行其他操作。所以对于没有交互的进程,很多时候我们希望将其在后台启动,可以在启动参数的时候加一个&实现这个目的。

2.切换到后台的进程称为job,切换到后台时会输出相关job信息:

miaoying@miaoying-OptiPlex-:~$ python3 ~/.local/lib/python3./site-packages/pgadmin4/pgAdmin4.py &
[]

例如这个: [1] 12225

[1] 表示job的ID,12225表示进程ID是12225。切换到后台的进程,仍然可以用ps命令查看,或通过jobs命令只查看所有job(后台进程)。

后台进程会随着shell的退出而结束。

3.守护进程已经完全脱离终端控制了,而后台进程并未完全脱离终端,在终端未关闭前还是会往终端输出结果。

4.守护进程在关闭终端控制台时不会受影响,而后台程序会随用户退出而停止,需要在以nohup command &格式运行才能避免影响。

5.守护进程的会话组和当前目录,文件描述符都是独立的,后台运行只是终端进行了一次fork,让程序在后台执行,这些都没改变。

查看守护进程:

ps -axj

-a表示显示由其他用户所拥有的进程的状态

-x显示没有控制终端的进程状态

-j显示与作业有关的信息:会话ID、进程组ID等

6.使普通进程达到守护进程的部分效果:

nohup ./a.out &

7.nohup

用途:不挂断地运行命令,即使终端ssh关闭了也一直运行

语法:nohup command [arg ...] [ & ]

as:

nohup ./start.sh &

无论是否将nohup命令的输出重定向到终端,输出都将附加到当前目录的nohup.out文件中。如果当前目录的nohup.out文件不可写,输出重定向到$HOME/nohup.out文件中。如果没有文件能创建或打开以用于追加,那么command参数指定的命令不可调用。

8.&

用途:在后台运行,当关闭了ssh终端,程序也会关闭

as:

start.sh &

linux守护进程与&的区别的更多相关文章

  1. [转]❲阮一峰❳Linux 守护进程的启动方法

    ❲阮一峰❳Linux 守护进程的启动方法 "守护进程"(daemon)就是一直在后台运行的进程(daemon). 本文介绍如何将一个 Web 应用,启动为守护进程. 一.问题的由来 ...

  2. Linux 守护进程和超级守护进程(xinetd)

    一 .Linux守护进程 Linux 服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户.提供这些服务的程序是由运行在后台的守护进程来执行的 ...

  3. Linux守护进程详解(init.d和xinetd) [转]

    一 Linux守护进程 Linux 服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户.提供这些服务的程序是由运行在后台 的守护进程来执行的 ...

  4. Linux守护进程详解(init.d和xinetd)

    一 Linux守护进程 Linux 服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户.提供这些服务的程序是由运行在后台的守护进程来执行的. ...

  5. 笔记整理--Linux守护进程

    Linux多进程开发(三)进程创建之守护进程的学习 - _Liang_Happy_Life__Dream - 51CTO技术博客 - Google Chrome (2013/10/11 16:48:2 ...

  6. CentOS 7.4 初次手记:第一章 Linux守护进程(daemon)

    第一节 init & sysvinit 6 I sysvinit 运行顺序... 6 II Sysvinit和系统关闭... 7 III Sysvinit 的小结... 7 IV 运行级别.. ...

  7. [Linux] 守护进程和守护线程

    对于JAVA而言,一般一个应用程序只有一个进程——JVM.除非在代码里面另外派生或者开启了新进程. 而线程,当然是由进程开启的.当开启该线程的进程离开时,线程也就不复存在了. 所以,对于JAVA而言, ...

  8. Linux守护进程编写指南

    Linux守护进程编写指南 守护进程(Daemon)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.守护进程是一种很有用的进 程.Linux的大多数服务器 ...

  9. Linux守护进程及Systemd

    当我们启动一个前台任务后,命令行窗口退出,应用也就一起退出,无法访问了.怎么才能让它变成系统的守护进程(daemon),成为一种服务(service),一直在那里运行呢? 守护进程 前台任务和后台任务 ...

随机推荐

  1. eclipse中如何去掉复制代码有行号的数字

    当我想查找别人资料,想复制别人的代码,但别人的代码中序号行数数字,怎么能快速去除呢,如以下截图所示  首先将你的带有行号的代码拷到一个类中.你会看到一大堆的错误,不用急.   注意将视图切换到java ...

  2. golang 自定义json解析

    在实际开发中,经常会遇到需要定制json编解码的情况. 比如,按照指定的格式输出json字符串, 又比如,根据条件决定是否在最后的json字符串中显示或者不显示某些字段. 如果希望自己定义对象的编码和 ...

  3. Mysql 5.7 单机单实例

    参考文章 https://www.xiaocoder.com/2017/03/17/mysql-installation-guide/ 下载5.7的mysql 社区版包 https://cdn.mys ...

  4. Spring Cloud(Dalston.SR5)--Eureka 常用配置

    配置参数 默认值 说明 服务注册中心配置 Bean类:org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean eu ...

  5. java jvm设置http代理参数

    -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=1080

  6. Thinkphp 3.1. 3 ueditor 1.4.3 添加水印

    1.引入Ueditor  <!-- 实例化编辑器 --> <script type="text/javascript"> window.UEDITOR_HO ...

  7. Hadoop2.2.0 eclipse插件编译及Ecliipse配置说明(图文版)

    一.引言: 最近在做一个城商行项目的POC测试it版本,涉及到编译Linux64bti的源码和开发插件使用,作为笔记分享给大家. 二.插件编译 Hadoop2x版本的Eclipse插件已经单独抽取成独 ...

  8. JIRA 资源

    https://www.**.com/article/2015/8/7/22532.html e_v_g_e_t JIRA使用教程:在Windows上安装JIRAJIRA使用教程:在Linux上安装J ...

  9. 记使用vue-awesome-swiper遇到的一些问题

    一.vue-awesome-swiper的使用   1.在项目中全局引用  import VueAwesomeSwiper from 'vue-awesome-swiper' // require s ...

  10. go学习day1

    go语言特性 1.垃圾回收 a.内存自动回收,再也不需要开发人员管理内存 b.开发人员专注业务实现,降低了心智负担 c.只需要new分配内存,不需要释放 2.天然并发 a.从语言层面支持并发,非常简单 ...