linux 脚本 获取pid,Shell脚本中获取进程ID的方法
提问: 我想要知道运行中脚本子shell的进程id。我该如何在shell脚本中得到PID。
当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为“批处理进程”)。
在某些情况下,你也许想要知道运行中的子shell的PID。这个PID信息可以在不同的情况下使用。比如,你可以使用shell脚本的PID在/tmp下创建一个唯一的临时文件。有时侯脚本需要检测所有运行的进程,它可以从进程列表中排除自身的子shell。
在bash中,子shell进程的PID存储在一个特殊的变量‘$$'中。这个变量只读,你不可以在脚本中修改它。比如:
#!/bin/bash
echo "PID of this script: $$"
上面的脚本会得到下面的输出:
PID of this script: 6583
除了$$, bash shell还会导出其他的只读变量。比如,PPID存储子shell父进程的ID(也就是主shell)。UID存储了执行这个脚本的当前用户ID。比如:#!/bin/bash
echo "PID of this script: $$"
echo "PPID of this script: $PPID"
echo "UID of this script: $UID"
输出是:PID of this script: 6686
PPID of this script: 4656
UID of this script: 1000
上面输出中,PID每次执行都会变化。这个因为每次运行都会创建一个新的shell。另一方面,PPID每次都会一样只要你在同一个shell中运行。
对于所有bash内置变量列表,参考man页。
$ man bash
shell脚本中取消重定向的方法实例
在上一篇关于shell编程的例子中,有讲到把shell脚本进行扩展之后重定向到一个文件中,以便进行查看和调试http://www.gimoo.net/article/62435.htm。但是,若是
Shell脚本之无限循环的两种方法
for实现:#!/bin/bashseti=0setj=0for((i=0;i10;))dolet"j=j+1"echo"-------------jis$j-------------------"donewhile实现:#!/bin/bashsetj=2whiletruedolet"j=j+1"echo"----------jis$j--------------"done
shell脚本实现监控shell脚本的执行流程及变量的值
很多时候,我们都会写shell程序来完成一些不用重复造轮子的时刻,但是,又因为shell语句中也会有函数,也会有变量,在运行后到底执行了哪些相关的
linux 脚本 获取pid,Shell脚本中获取进程ID的方法相关推荐
- 《Linux命令行与shell脚本大全》笔记
初识Linux Shell 什么是Linux Linux可划分为以下四部分: Linux内核 GNU工具 图形化桌面环境 应用软件 深入探究Linux内核 内核主要负责以下四种功能: 系统内存管理 软 ...
- 【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-Chapter16-脚本控制
十六.脚本控制 Linux 利用信号与系统中的进程进行通信. 重温 Linux 信号 Linux 系统和应用程序可以产生超过 30 个信号.在 shell 脚本编程时会遇到的最常见的 Linux 系统 ...
- 【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-汇总 ( Chapter17-ChapterB )
十七.创建函数 bash shell 提供了用户自定义函数功能,可以将 shell 脚本代码放入函数中封装起来. 函数是一个脚本代码块,你可以为其命名并在脚本中的任何位置重用它.每当需要在脚本中使用该 ...
- linux 命令行与shell脚本编程大全
linux 命令行与shell脚本编程大全 第一章 Linux LiveCD就是从cd读取的系统,由于没法将数据写入到cd,所以一旦重启,之前操作过后的一切数据都会丢失. 第二章 第三章 1.man手 ...
- 【2018深信服 醒狮计划】《Linux命令行与Shell脚本编程大全》学习笔记
2018深信服"醒狮计划"笔记 第3周(5.02-5.13) 课程 必修 选修 基本要求 Shell编程 <Linux命令行与Shell脚本编程大全> <Perl ...
- Linux 运行和控制 shell 脚本
脚本控制 对于 shell 脚本,我们最简单的操作是直接运行它.除此之外,我们还可以通过向运行中的脚本发送信号.修改脚本的优先级以及切换运行模式等等途径控制脚本. 一.处理信号 Linux 利用信号与 ...
- Linux_《Linux命令行与shell脚本编程大全》第十八章学习总结
时间:2017年12月04日星期一 说明:本文部分内容均摘取自书籍<Linux命令行与shell脚本编程大全>,版权归原作者所有.<Linux命令行与shell脚本编程大全>( ...
- Linux课程---7、shell技巧(获取帮助命令)
Linux课程---7.shell技巧(获取帮助命令) 一.总结 一句话总结: ls --help:简单手册 man ls:内容手册 1.tab补全? 命令+tab:加快敲命令敲文件目录的速度,多敲几 ...
- linux运维自动化脚本,linux运维自动化shell脚本小工具
linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...
最新文章
- 关于深度学习推荐系统领域的15个问题
- 微软中国 CTO:请把 AI 拉下神坛
- 腾讯老照片修复算法开源,细节到头发丝,3种预训练模型可下载 | GitHub热榜
- 青龙羊毛——狸猫十堰
- 构建iOS风格移动Web应用程序的8款开发框架
- 计算机等级考试初级网络工程师,2019年全国计算机等级考试网络工程师四级,需..._网络编辑_帮考网...
- CNN 反向传播推导
- 跟我一起学Angular2(1)-了解ng模块化
- Switch View when host XmlFormView in aspx
- 计算机第四次评估报告,建议置顶,天天那么多问计算机的。看看第四轮评估的结果。...
- 【转载】 ppt如何导出300dpi的高分辨率图片
- 1236: 数的逆转
- Android 实现图文混排
- UDP/TCP实时传输图像
- XP系统封装-2011年
- 企业网络如何实现升级
- USB(六)-HID(报告描述符的结构实现)
- Cimplicity软件开发的汽车厂监控系统案例
- 虚拟内存(操作系统)
- 第一个iBATIS测试就通不过