美文网首页
Linux shell中运行可执行程序后加上&的作用

Linux shell中运行可执行程序后加上&的作用

作者: Purson | 来源:发表于2018-10-14 08:56 被阅读0次

& 放在启动参数后面表示设置此进程为后台进程

默认情况下,进程是前台进程,这时就把Shell给占据了,我们无法进行其他操作,对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个'&'实现这个目的。

如:

tianfang > run &

    [1]11319

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就是守护进程。

    tianfang> ps xj

    PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND

    953 1190 1190 1190 ? -1 Ss 1000 0:00 /bin/sh/usr/bin/startkde

    1 1490 1482 1482 ? -1 Sl 1000 0:00 /usr/bin/VBoxClient–seamless

    1 1491 1477 1477 ? -1 Sl 1000 0:00 /usr/bin/VBoxClient–display

创建守护进程最关键的一步是调用setsid函数创建一个新的Session,并成为SessionLeader。成功调用该函数的结果是:

创建一个新的Session,当前进程成为SessionLeader,当前进程的id就是Session的id

创建一个新的进程组,当前进程成为进程组的Leader,当前进程的id就是进程组的id

如果当前进程原本有一个控制终端,则它失去这个控制终端,成为一个没有控制终端的进程

相关文章

  • Linux shell中运行可执行程序后加上&的作用

    & 放在启动参数后面表示设置此进程为后台进程 默认情况下,进程是前台进程,这时就把Shell给占据了,我们无法进行...

  • Shell编程

    一.Shell 作用:把Linux中的命令保存起来,下次需要时直接运行Shell程序 ①cd Desktop/ ②...

  • Linux shell中运行命令后加上字符“&”的作用

    登录服务器编译运行服务端程序的时候,学到了在命令后加上字符“&”后,退出shell,运行的命令可以继续运行。不解原...

  • SHEll编程基础

    一、SHELL编程的格式 二、 SHELL的运行的三种方法 1. 作为可执行程序执行 新的脚本都没有可执行权限,所...

  • CentOS7.2 创建自定义服务

    方法就三步。 一:将可执行程序放入/usr/sbin/中。二:创建服务文件服务文件是Linux shell文件,位...

  • go语言编译真正的静态可执行文件

    我们在linux上编译带有网络功能的go程序,得到的可执行程序还是一个动态链接程序,依赖系统中的libc运行,如果...

  • 使用java -jar启动项目后自动停止问题

    现象: 将Java程序打成jar包后,放到linux上通过shell终端运行启动时,执行命令:“java -jar...

  • shell执行方法

    运行 Shell 脚本有三种方法: 1、作为可执行程序 #!/bin/bash 或者#!/bin/sh //指此...

  • Linux的命令优先级

    Linux中的bash命令行 shell中可执行的两类命令 内部命令:由shell自带的,而且通过某命令形式提供 ...

  • Java执行Shell & VB脚本

    有时候我们在Linux中运行Java程序时,需要调用一些Shell命令和脚本。而Runtime.getRuntim...

网友评论

      本文标题:Linux shell中运行可执行程序后加上&的作用

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