首页
学习
活动
专区
圈层
工具
发布

Linux下获取进程的PID

Linux系统中常常需要获取进程的pid进行一些操作,而Linux 的交互式 Shell 与 Shell 脚本存在一定的差异,主要是由于后者存在一个独立的运行进程,因此在获取进程 pid 上二者也有所区别...ps 命令ps命令是最常用的Linux命令之一,用于获取当前系统中的进程信息,ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。...交互式 Shell 获取 pid在ps命令的基础上,如果我们知道进程的name,那么可以利用grep来获取其pid(需要通过-v来过滤掉grep本身),并通过awk显示出来。...当然,Linux系统也支持直接查找:最简单的方法是使用pgrep:`pgrep -f name`如果需要查找到 pid 之后kill掉该进程,还可以使用pkill:`pkill -f name`如果是可执行程序的话...,可以直接使用pidof:`pidof name`Bash Shell 脚本获取进程 pid在使用 Shell 脚本获取进程 pid 时,如果直接使用上述命令,可能会出现多个 pid 结果,例如:#!

3.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux系统 —— 进程系列 - 进程的概念,PCB与PID和fork

    在Linux中描述进程的结构体叫做task_struct 2. task_struct是Linux内核的⼀种数据结构,它会被装载到RAM(内存)⾥并且包含着进程的信息 2.2 task_...PID 获取当前进程PID - getpid 进程创建的时候, 里面都有一个自己的PID,我们如何在一个程序运行时获取这个程序的PID呢?...如图所示,操作系统里面上层是系统调用, 下层是内存缓冲区, 这个时候内存中已经缓存了两个进程,PCB对象里面含有PID,我们可以使用ps axj和管道来获取进程的PID 但是我们都知道,操作系统不相信我们用户..., 所以我们就不能直接访问PCB(task_struct)也就是里面的PID, 状态等, 想要获取这些字段就必须使用系统调用接口 如果我们想要获取当前进程的PID的系统调用接口的话,我们就要使用...getpid(), 这个函数在哪个进程里被调用, 就会返回哪个进程的PID 注意:pid是一个整形, 下面是我们自己定义的一个获取系统调用接口的程序 当前进程为: 获取父进程PID

    1K10

    CMD魔法堂:获取进程路径和PID值的方法集

    所以第一步需要获取Weblogic应用窗口的PID然后将其kill掉。下面将记录曾经的各种尝试,以便日后查阅。...二、wmic命令                             windows自带功能,功能十分强大 示例1——获取所有进程信息: wmic process 示例2——指定进程执行路径获取PID...实践经验   上述方法无法通过Weblogic应用的startWebLogic.cmd的全路径作为查询条件来获取PID,由于startWebLogic.cmd内是通过java命令启动应用的,所以ExecutablePath...其他获取进程路径的方法 vbs c++:java需要通过jni来调用。...三、netstat -aon | findstr 端口号                 示例1: netstat -aon | findstr 7001 若存在占用该端口号的进程,则会返回PID;否则返回空

    2.6K72

    过滤某PID的svchost进程

    原始问题:tasklist /svc结果如下(节选),pid 1560对应的svchost.exe是紧挨的2行,svchost.exe和1560只显示在第一行,单纯用tasklist /svc | findstr...1560过滤1560会导致过滤出的结果不全(下一行不会显示)映像名称 PID 服务========================= ======== ==...eq 1560"tasklist /svc /fi "PID eq 1560" /fi "IMAGENAME eq svchost.exe"②用powershell处理字符串(虽然麻烦,但能看到代码之美...是因为最多的时候同一个svchost对应的服务有十几个,可能展示五六行,但其实有特点,如果没显示完,下一行的最后一个字符是英文逗号,可否打印下一行的时候看看最后一个字符是不是逗号,是的话再打印一行,麻烦继续修改代码# 获取...+ 2] $tasklist[$i + 3] $tasklist[$i + 4] $tasklist[$i + 5] break }}# 获取

    79310

    【Android 进程保活】oom_adj 值 ( 简介 | 查询进程 PID | 根据进程 PID 查询 oom_adj 值 )

    文章目录 一、oom_adj 值简介 二、查询进程号 PID 三、查询进程对应的 oom_adj 值 一、oom_adj 值简介 ---- oom_adj 值是 Linux 内核为每个进程分配的 , 该值可以反映进程的优先级...; 在内存不足 , 要杀进程 , 回收内存时 , 会根据该 oom_adj 值决定是否回收该进程 ; oom_adj 值越大 , 对应的进程优先级越低 ; 二、查询进程号 PID ---- 获取进程号...: 执行如下命令 , 可以获取 Android 手机的进程号 ; adb shell ps PS 每行的输出含义 : USER : 进程所属用户 , ROOT 是权限最高的用户 , 其它都是各个应用对应的用户名称...ID , 在 Logcat 面板中 , 进程栏中 , 可以看到 kim.hsl.app2 进程的进程 PID 是 11694 ; 在 PS 中对应的该 PID 为 11694 的进程 ; u0_a356..., 执行如下命令 , 即可查询进程号对应进程的 oom_adj 值 ; 首先进入 Android 设备 adb shell 命令行 , adb shell 然后获取 root 权限 , su 最后查询进程号对应进程的

    7.3K30

    嵌入式Linux:获取进程时间

    进程时间是指进程从创建到当前时刻所使用的CPU资源的总时间。为了记录和分析,内核将CPU时间(进程时间)分为以下两个部分:用户CPU时间:进程在用户空间(用户态)运行时所花费的CPU时间。...如果进程处于休眠状态(进程被挂起,不会得到系统调度),它不会使用CPU资源,因此休眠时间不计入进程时间。在Linux系统中,获取进程时间的两种常用方法是使用times函数和clock函数。...这些函数允许程序获取进程的CPU时间,以进行性能分析和优化。times 函数:用于获取进程及其子进程的用户和系统CPU时间。返回从系统启动到调用时的时钟滴答数。...clock 函数:用于获取程序的用户和系统CPU时间。返回从程序启动到调用时的时钟滴答数。通过将返回值除以CLOCKS_PER_SEC可以得到秒数。...1、times函数times函数用于获取当前进程及其子进程的CPU时间。

    10710

    linux kill -HUP pid

    kill -HUP pid  pid 是进程标识。如果想要更改配置而不需停止并重新启动服务,请使用该命令。在对配置文件作必要的更改后,发出该命令以动态更新服务配置。...ps 和 grep 命令用来在所有的进程中搜索 httpd(并且忽略用来搜索 httpd 进程的 grep 进程)。接下来,awk 只显示输出结果中的进程 ID,并将它传递给 xargs。...LINUX和Unix都适用:  改/etc/ssh/sshd_config,将里面的Port改为新端口,比如10022,然后 kill -HUP `cat /var/run/sshd.pid` 就行了...现有连接自己不会断,因为kill -HUP `cat /var/run/sshd.pid` 只是HUP监听的那个,已经建立的连接(不同的 pid)不会断。 ...PS: HUP(1)是让进程挂起,睡眠; kill (9)六亲不认的杀掉 term(15)正常的退出进程 因为进程可能屏蔽某些信号,所以它们的用处也就不一样。。。

    5.9K20

    【Linux】 进程控制(二):进程等待(waitwaitpid) 与 子进程获取(status)

    引言在Linux进程管理中,子进程退出后若父进程未及时回收其资源,会产生僵尸进程并引发内存泄漏问题,而wait与waitpid作为核心的进程等待系统调用,不仅能解决僵尸进程问题,还能让父进程获取子进程的退出状态...如果父进程先于子进程结束,子进程会被init进程(PID=1)接管并自动回收,不会永久僵尸。僵尸进程的清理必须由父进程完成,这是Unix/Linux进程管理的设计特点。接下来讲解两种进程等待的方法!...2.2waitpid2.2.1认识waitpidwaitpid是Linux下用于回收子进程资源的系统调用,是wait函数的增强版。...第2~4秒:子进程退出→变为僵尸进程子进程完成2次循环后调用exit(0):子进程的用户级资源(代码、数据、文件描述符等)会立即释放;但Linux为了让父进程获取子进程的退出状态,会保留子进程的内核级资源...总结进程等待是Linux系统中回收子进程资源、获取退出状态的核心机制,wait通过阻塞等待实现基础的子进程回收,而waitpid作为增强版,支持指定子进程、阻塞/非阻塞两种等待模式,既解决了wait的功能局限

    52310

    pgrep快速查找进程PID

    发表评论 3,919 A+ 所属分类:linux命令 pgrep命令以名称为依据从运行进程队列中查找进程,并显示查找到的进程id。...参数: Shell -o:仅显示找到的最小(起始)进程号;一般查找父进程 -n:仅显示找到的最大(结束)进程号; -l:显示进程名称; -P:指定父进程号; -g:指定进程组...; -t:指定开启进程的终端; -u:指定进程的有效用户ID。...-f:进行正则匹配ps -ef里面command类容 123456789 -o:仅显示找到的最小(起始)进程号;一般查找父进程    -n:仅显示找到的最大(结束)进程号;    -l:显示进程名称;    ...-P:指定父进程号;    -g:指定进程组;    -t:指定开启进程的终端;    -u:指定进程的有效用户ID。

    85410

    C语言进程(第一章进程基础,fork()函数,pid_t, pid, getpid())

    在子进程中,fork()函数返回0,因此在代码块 else if (pid == 0) 中执行, 输出 “我是子进程,我的pid是 xxx” 的格式化字符串,使用 getpid() 来获取子进程的PID...在父进程中,在 else 语句块中执行,打印 “我是父进程,我的pid是 xxx”。使用 getpid() 来获取父进程自己的 PID 号。...在 Linux 和 Unix 系统中,可以使用 ps 命令和其他系统工具来查看当前运行的进程及其 PID。... int main() { printf("当前进程的pid是:%d\n", getpid()); return 0; } 在该程序中,使用getpid()函数获取当前进程的...具体来说,在绝大多数 Unix 或 Linux 系统中,pid_t 的定义如下: typedef int pid_t; 因此,pid_t 实际上是 int 类型,而且在一般情况下其大小与 int 相等。

    1.4K10
    领券