Linux shell中运行可执行程序后加上&的作用
来源:互联网 发布:搞笑文案知乎 编辑:程序博客网 时间:2024/06/07 06:14
学习UNP时,学到了在命令后加上字符“&”后,退出shell,运行的命令可以继续运行。不解原因,并到网上搜索了以下,明白了!
以下是搜索到的片段:
& 放在启动参数后面表示设置此进程为后台进程
默认情况下,进程是前台进程,这时就把Shell给占据了,我们无法进行其他操作,对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个'&'实现这个目的。
如:
tianfang > run &
tianfang > ./game.e 1 &
进程切换到后台的时候,我们把它称为job。切换到后台时会输出相关job信息,以前面的输出为[1]11319例:[1]表示jobID是1,11319表示进程ID是11319。切换到后台的进程,仍然可以用ps命令查看。
前后台间切换
可以通过bg (background)和fg(foreground)命令将其在前后台间状态切换。
守护进程
如果一个进程永远都是以后台方式启动,并且不能受到Shell退出影响而退出,一个正统的做法是将其创建为守护进程。守护进程值得是系统长期运行的后台进程,类似Windows服务。守护进程信息通过ps–a无法查看到,需要用到–x参数,当使用这条命令的时候,往往还附上-j参数以查看作业控制信息,其中TPGID一栏为-1就是守护进程。
创建守护进程最关键的一步是调用setsid函数创建一个新的Session,并成为SessionLeader。成功调用该函数的结果是:
- 创建一个新的Session,当前进程成为SessionLeader,当前进程的id就是Session的id
- 创建一个新的进程组,当前进程成为进程组的Leader,当前进程的id就是进程组的id
- 如果当前进程原本有一个控制终端,则它失去这个控制终端,成为一个没有控制终端的进程。
- Linux shell中运行可执行程序后加上&的作用
- Linux shell中运行命令后加上字符“&”的作用
- Linux shell中运行命令后加上字符“&”的作用
- Unix/Linux中后台运行程序(断开shell连接后继续执行)的几种方式
- 为服务的可执行程序加上参数
- pyinstall打包后的可执行程序无法运行
- 编写在Android的Linux系统中直接运行的可执行程序 - 检测CPU能力
- 编写在Android的Linux系统中直接运行的可执行程序
- Linux中shell关闭后,nohup让程序依然在后台运行
- 在内存中运行可执行程序
- 在内存中运行可执行程序
- Linux------可执行程序的装载
- 自建的C语言可执行程序运行后结果显示窗口不关闭
- linux中bin和xbin下可执行程序的区别
- Linux中可执行程序的装载和执行
- Linux运行shell程序的方法
- [Linux] Shell 中 $ 作用
- vc8 运行可执行程序的解决办法
- Maven日常 —— 你应该知道的一二三
- Linux Shell中的${}、##和%%使用范例
- Android中MediaPlayer的常用方法
- 35-并发服务器(多进程)
- CCF NOI1017 价格查询
- Linux shell中运行可执行程序后加上&的作用
- Spark 2.1 , Method used to prevent multiple SparkContexts from being active at the same time
- 旋转数组的最小数字
- centos7下 tomcat8启动慢问题
- 关于UGUI的实例化
- Toorbar的基础使用
- apt update error "E: The package lists or status file could not be parsed or opened."
- 理解AES对称加密
- JS路由