iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >Shell脚本中获取进程ID的方法
  • 571
分享到

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

脚本进程方法 2022-06-04 21:06:53 571人浏览 安东尼
摘要

提问: 我想要知道运行中脚本子shell的进程id。我该如何在shell脚本中得到PID。 当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚

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

--结束END--

本文标题: Shell脚本中获取进程ID的方法

本文链接: https://www.lsjlt.com/news/18412.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Shell脚本中获取进程ID的方法
    提问: 我想要知道运行中脚本子shell的进程id。我该如何在shell脚本中得到PID。 当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚...
    99+
    2022-06-04
    脚本 进程 方法
  • Shell脚本中怎么获取进程ID
    今天就跟大家聊聊有关Shell脚本中怎么获取进程ID,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在某些情况下,你也许想要知道运行中的子shell的PID。这个PID信息可以在不同的...
    99+
    2023-06-09
  • 如何在shell脚本中获取进程ID
    这篇文章给大家介绍如何在shell脚本中获取进程ID,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。shell脚本在执行时,会启动子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处...
    99+
    2023-06-28
  • Linux Shell脚本中获取本机ip地址方法
    方法一:ifconfig -a ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" 命令解析 ...
    99+
    2022-06-04
    Shell获取本机ip Shell 本机ip
  • Shell脚本获取进程的运行时间
    在我们的系统中,我曾写了一个脚本去定时更新一些repository,但偶尔会遇到问题,比如:git pull之时可能会卡在那里(可能由于某时刻的网络问题),它会阻碍后面的下一次更新。所以我就在想,我今后启动...
    99+
    2022-06-04
    脚本 进程 时间
  • Shell脚本中获取本机ip地址的3个方法
    方法一: /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" or /sb...
    99+
    2022-06-04
    本机 脚本 地址
  • Linux中shell脚本获取当前工作目录的方法
    如下: workdir=$(cd $(dirname $0); pwd) 步骤1 dirname $0,取得当前执行的脚本文件的父目录 步骤2 cd到父目录,即进入当前工作目录 步骤3 pwd显示当前工作目录 以...
    99+
    2022-06-04
    shell 当前目录
  • 怎么用Shell脚本获取进程的运行时间
    这篇文章主要介绍“怎么用Shell脚本获取进程的运行时间”,在日常操作中,相信很多人在怎么用Shell脚本获取进程的运行时间问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Shell脚本获取进程的运行时间...
    99+
    2023-06-09
  • Shell脚本中让进程休眠的方法
    这篇文章主要讲解了“Shell脚本中让进程休眠的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell脚本中让进程休眠的方法”吧!有时候写Shell的脚本,用于顺序执行一系列的程序。 ...
    99+
    2023-06-09
  • Shell中获取脚本所在目录绝对路径的方法
    要得到正在执行的程序/脚本自身所存放的绝对路径,在 PHP 里面可以用 dirname(realpath(__FILE__)) ; C# 则有 System.Windows.Forms.Applicatio...
    99+
    2022-06-04
    脚本 绝对路径 目录
  • Java获取Process子进程进程ID方法详解
    目录windows上获取pidlinux上获取pidjava可以通过Runtime.getRuntime().exec()执行一个操作系统的命令,在操作系统层面执行命令也就创建了一个...
    99+
    2022-12-30
    Java获取Process子进程ID Java获取子进程ID
  • shell脚本获取两个日期间隔时间的方法
    这篇文章主要介绍“shell脚本获取两个日期间隔时间的方法”,在日常操作中,相信很多人在shell脚本获取两个日期间隔时间的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”shell脚本获取两个日期间隔时间...
    99+
    2023-06-09
  • Shell脚本中让进程休眠的方法(sleep用法)
    有时候写Shell的脚本,用于顺序执行一系列的程序。 有些程序在停止之后并没能立即退出,就例如有一个 tomcat 挂了,就算是用 kill -9 命令也还没瞬间就结束掉。 这么如果 shell 还没等其退...
    99+
    2022-06-04
    脚本 进程 方法
  • 在shell脚本中获取上个月最后一天的日期方法
    linux中用date命令来获取上个月最后一天的日期: $ date -d"`date +%Y%m01` last day" +%Y%m%d 20161231 编写脚本getdate.sh: #! /bi...
    99+
    2022-06-04
    shell 获取日期
  • shell脚本中如何获取命令的输出
    这篇“shell脚本中如何获取命令的输出”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“shell脚本中如何获取命令的输出”文...
    99+
    2023-06-29
  • Linux下使用Shell脚本获取终端宽度的解决方法
    获取终端大小时候的学习 在写shell脚本时想输出一行占满整个终端屏幕宽度的 横杠 发现for循环会导致执行缓慢 解决方法: 使用yes 命令 sed '50q' 显示50行 tr -d '\n' 删除 \n ...
    99+
    2022-06-04
    linux shell 终端
  • shell脚本中字符串截取的多种方法
    1.#号截取,删除左边字符,保留右边字符。        代码:echo ${var#*//}    &n...
    99+
    2022-10-18
  • shell脚本中取消重定向的方法实例
    在上一篇关于shell编程的例子中,有讲到把shell脚本进行扩展之后重定向到一个文件中,以便进行查看和调试http://www.lsjlt.com/article/62435.htm。但是,若是有另一种情...
    99+
    2022-06-04
    脚本 重定向 实例
  • Linux下获取线程id的方法总结
    方法总结说明 getpid() Linux系统调用,获取进程id,也是主线程id。 gettid() Linux系统调用,获取线程id。 C运行库没有封装这个接口…用syscall()方式调用。 在主线程中,getpid = getti...
    99+
    2023-08-18
    linux 服务器 c++ 开发语言 ubuntu
  • linux中怎么获取shell脚本的绝对路径
    这期内容当中小编将会给大家带来有关linux中怎么获取shell脚本的绝对路径,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。脚本名:a.sh 位置:/tmp/whuang/study/java 脚本内容:...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作