• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > Shell脚本中获取进程ID的方法

Shell脚本中获取进程ID的方法

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了shell脚本的编写方法,shell脚本,shell脚本编程,shell脚本学习指南,shell脚本实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

提问: 我想要知道运行中脚本子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: $$"
</div>

上面的脚本会得到下面的输出:

PID of this script: 6583
</div>

除了$$, 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"
</div>

输出是:
PID of this script: 6686
PPID of this script: 4656
UID of this script: 1000
</div>

上面输出中,PID每次执行都会变化。这个因为每次运行都会创建一个新的shell。另一方面,PPID每次都会一样只要你在同一个shell中运行。

对于所有bash内置变量列表,参考man页。

$ man bash
</div>

</div>

您可能想查找下面的文章:

  • 执行Shell脚本的4种方法及区别介绍
  • 执行Shell脚本的4种方法及区别介绍
  • Shell脚本之无限循环的两种方法
  • Shell脚本中获取进程ID的方法
  • Shell脚本避免重复执行的方法
  • Shell踢人的三种方法

相关文章

  • 分享20个Unix/Linux 命令技巧
  • 关于ssh连不上问题的解决方法(必看)
  • Bash中数组的操作教程
  • linux上配置jdk时,java命令提示没有此文件或文件夹的解决方法
  • Shell脚本查看进程内存真实占用情况
  • Shell脚本中获取进程ID的方法
  • awk正则表达式和内置函数的使用方法实例详解
  • 实例详解Linxu中df命令
  • Linux更新Python版本及修改python默认版本的方法
  • Shell字符串截取的详细方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Linux Shell脚本面试25问集合
    • sed删除文件中的一行内容的脚本代码
    • hi 感恩节——Linux基础教程之mysql和php
    • C语言实现的ls命令源码分享
    • 实现android自动化测试部署与运行Shell脚本分享
    • Linux下的tar压缩解压缩命令详解(小结)
    • Linux oracle数据库自动备份自动压缩脚本代码
    • Linux Shell+Curl网站健康状态检查脚本,抓出中国博客联盟失联站点
    • linux shell 中 2>&1的含义
    • linux软件版本管理命令update-alternatives使用详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有