首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何设置shell脚本的进程组

设置shell脚本的进程组可以通过以下步骤实现:

  1. 使用setpgid命令设置进程组的进程标识符(PID):$ setpgid 进程组ID$ ps -p $$$ echo $$$ trap 'kill -9 $$' SIGINT$ nohup ./script.sh &$ echo "Script name: $0, process group ID: $PGID"$ exit 0需要注意的是,以上步骤中的某些步骤可能会因系统或shell版本的不同而略有差异。此外,在设置进程组时,请确保您已经正确设置了进程组的PID,否则可能会导致进程组无法正确关闭或运行的问题。
  2. 使用ps命令查看当前进程组的PID:
  3. 使用echo命令输出当前进程组的PID:
  4. 使用trap命令捕获一个信号,该信号用于终止进程组:
  5. 使用nohup命令运行shell脚本,并指定在退出时关闭进程组:
  6. 使用echo命令输出脚本的名称和进程组的PID:
  7. 使用exit命令退出shell脚本,并关闭进程组:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Shell脚本实时监测进程

    前言 最近做项目有需要将程序设置为自启动,所以弄了个类似看门狗程序检测脚本。...之前在网上复制脚本根本就是假,害我检查了好久,最后还是自己修修改改才成功了,下面就是整个脚本文件,只需要把名字和路径替换一下就行了。 #!...fi done 原理 原理就是不断在后台检测你程序有没有在跑,在跑的话就过几秒再次检测,没在跑的话(跑飞了)就马上运行程序,不得不说 shell 还是非常强大。.../$name;exec bash;"这句话非常棒,是我在网上搜到一个命令,新开一个命令行执行你脚本,不跟看门狗冲突,让我们可以实时看到看门狗输出。...听网友说用 vim 打开脚本,输入 :set ff可能是 dos 风格文件,改成 unix 就行了,然后我按照教程查看,这脚本本身就是 unix 分风格呀,整得我一脸懵逼。

    86820

    linux下杀死某个进程_shell脚本获取进程号并杀死进程

    输入top后可以看到如下界面,实时显示进程情况。 ps命令:process status简称,用于报告当前系统进程状态。...此命令长配合grep过滤输出结果,常用结构: ps -aux | grep *** aux选项如下所示: a-显示所有用户进程 u-显示进程用户和拥有者 x-显示不依附于终端进程 举个例子,查看...2.杀死进程 我们可以通过 进程名字和进程ID(PID)来结束进程。...结束命令: kill:通过进程ID来结束进程 killall:通过进程名字结束进程 最长使用结束进程信号是: Signal Name Single Value Effect SIGHUP 1 挂起...所以我们现在来杀死python进程: kill SIGNAL PID SIGNAL 是要发送信号,PID是进程号。 kill -9 14992 上面的命令就是杀死python进程

    5.1K20

    PHP脚本设置及获取进程

    PHP脚本设置及获取进程名 今天来学习是两个非常简单函数,一个可以用来设置我们执行脚本时运行进程名。而另一个就是简单获取当前运行进程名。...这两个函数对于大量脚本运行代码有很大作用,比如我们需要 kill 掉某个进程时,可以直接使用我们自己定义进程名来进行操作。...设置进程名 cli_set_process_title("test"); 非常简单吧,只有一个参数,那就是要定义变量名称。..."\n"; // Process title: test 同样,获取当前进程函数也非常地简单,直接调用即可。它就会正常输出当前执行脚本进程名称。 如果我们没有自定义进程名称呢?...Windows 环境没有进行测试,正常情况下也很少会有人在 Windows 环境下挂后台执行脚本,所以有兴趣同学可以自己测试下。 二是进程名可以是中文!!!是不是感觉很高大上。

    1.4K30

    如何快速学好Shell脚本

    Shell 语言作为类 Unix 系统原生脚本,有着非常实用价值。但对于很多刚刚接触 Shell 脚本同学来说,搞懂 Shell 语言语法却是一件非常困难事情。...甚至有人吐槽,或许没有谁能清楚地说明白 Shell 语法。 例如下面这两个 Shell 脚本: #!.../bash a=10 if [$a = 10 ] # $a 前没有加空格,非法 then echo "a is 10" else echo "a is not 10" fi 这两个脚本区别只是...但在 Shell 语法中,第二个没有在$a前加空格脚本是非法。再举一个例子: a=10 a = 10 在我们看来这两个表达式没有什么区别嘛,都是给 a 变量赋值 10。...因为这种方式更加简洁,并且功能也是最为完整,也是最为接近高级语言写法。 正是因为 Shell语法问题以及实现多样性,许多初学者(包括我)都会对 Shell 语法感到迷惑。

    72830

    Shell脚本实现Linux系统和进程资源监控

    本文介绍在Linux系统下几种常见监控需求及其shell脚本编写。...文章目录: 1.Linux使用 Shell 检查进程是否存在 2.Linux使用 Shell检测进程 CPU 利用率 3.Linux使用 Shell检测进程内存使用量 4.Linux使用 Shell...检测进程句柄使用量 5.Linux使用 Shell查看某个 TCP 或 UDP 端口是否在监听 6.Linux使用 Shell查看某个进程名正在运行个数 7.Linux使用 Shell检测系统...CPU 负载 8.Linux使用 Shell检测系统磁盘空间 9.总结 检查进程是否存在 在对进程进行监控时,我们一般需要得到该进程 ID,进程 ID 是进程唯一标识,但是有时可能在服务器上不同用户下运行着多个相同进程进程...总结 在 Linux 平台下,shell 脚本监控是一个非常简单,方便,有效对服务器,进程进行监控方法,对系统开发以及进程维护人员非常有帮助。

    3K51

    shell脚本】$ 在shell脚本使用

    shell脚本中 '$' 与不同符号搭配其表示意义也会不同 特殊标志符 含义 $0 当前脚本文件名 $n 传递给脚本或函数参数。n 是一个数字,表示第几个参数。...例如,第一个参数是$1,第二个参数是$2 $# 传递给脚本或函数参数个数 $* 传递给脚本或函数所有参数 $@ 传递给脚本或函数所有参数 $?...上个命令退出状态 $$ 当前Shell进程ID $() 与 `(反引号) 一样用来命令替换使用 ${} 引用变量划分出边界 注释:$* 和 $@ 都表示传递给函数或脚本所有参数,不被双引号(" "...)包含时,都以"$1" "$2" … "$n" 形式输出所有参数。...但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 形式输出所有参数

    6.2K20
    领券