linux获取进程pid的方法(在linux下通过什么命令可以知道相应PID的路径)

本文目录
- 在linux下通过什么命令可以知道相应PID的路径
- linux怎么查询进程和进程的id
- Linux中如何在子进程获取父进程的pid
- linux除了popen外,获取其它进程PID的方法有哪些
- linux服务器怎么看进程pid
- Linux 怎么根据进程号,找对应的进程!
- Linux如何查看进程访问哪个文件
- 如何获取linux内核线程的pid
在linux下通过什么命令可以知道相应PID的路径
你的意思是,知道某个进程的PID,然后希望找到该进程执行的程序的路径吧
可以使用这种方法:
ls -l /proc/$PID/exe
上面的$PID就是那个PID,比如
$ ls -l /proc/2594/exe
lrwxrwxrwx 1 jason jason 0 Oct 16 17:15 /proc/2594/exe -》 /home/jason/download/qterm-0.5.12/build/src/qterm
$ ls -l /proc/2094/exe
lrwxrwxrwx 1 jason jason 0 Oct 16 17:10 /proc/2094/exe -》 /bin/bash
后面分别指向的是 home/jason/download/qterm-0.5.12/build/src/qterm 和 /bin/bash
就是该程序的完成路径
linux怎么查询进程和进程的id
用top -u 命令查看进程以及PID。
命令如下:
$ top -u
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
Linux中如何在子进程获取父进程的pid
getppid() 获取父进程 id,
getpid() 获取当前进程 id.
比如
int main()
{
int pid = fork();
if (pid == 0)
{
// child
printf ("ParentID is %d\n", getppid());
}
esle
{
printf("I’m parent, id %d\n", getpid());
wait(NULL);
}
return 0;
}
再就是程序编译没错,但是运行时出现“实时信号 2”
没有源码,谁也帮不上你。 你可以用 gdb去调试。
linux除了popen外,获取其它进程PID的方法有哪些
getpid(取得进程识别码)
相关函数 fork,kill,getpid
表头文件 #include《unistd.h》
定义函数 pid_t getpid(void);
函数说明 getpid()用来取得目前进程的进程识别码,许多程序利用取到的此值来建立临时文件,以避免临时文件相同带来的问题。
返回值 目前进程的进程识别码
范例 #include《unistd.h》
main()
{
printf(“pid=%d\n”,getpid());
}
执行 pid=1494 /*每次执行结果都不一定相同*/
linux服务器怎么看进程pid
首先,你得知道进程名字,可以通过ps -ux来查看所有进程,也可以用管道符 “|”来筛选。
其次。得到名字之后可用pgrep命令来查看pid,比如:pgrep java 或者pgrep -l java。
手打,望采纳。
Linux 怎么根据进程号,找对应的进程!
1、Linux根据进程号查询相应的进程信息,可以使用ps命令的-q参数来进行查询。
2、举例来说,已知进程号为12840,查询其相应的进程。
ps -q 12840
说明:-q参数是ps的快速模式,使用该参数可以从pidlist中快速的读取必要的进程信息。后面接进程号,即pid号。
也可以使用如下命令只打印命令,也就是只显示进程名称:
ps -q 12840 -o comm=
说明:-o是指明输出的格式,comm=即输出格式只输出comand,即只显示进程的名称。
Linux如何查看进程访问哪个文件
1、查看进程“打开”的文件 (方法1):
1)pidof programe-name(获得想了解的进程(programe-name)的PID)
或ps -aux|grep programe-name(获得想了解的进程(programe-name)的PID)
找出进程的PID
2)cd /proc/$PID/fd(会看见文件描述符)
3)ls -l 得到文件描述符指向的实际文件,即当前进程打开的文件
2、查看进程“打开”的文件 (方法2):
1)获得想了解的进程的PID方法同上
2)lsof -c programe-name
或lsof -p $PID
如何获取linux内核线程的pid
通过查看资料,发现一种比较简单的方法就是在代码中使用printf将当前线程的id打印出来。
而这也分成两种情况:
1. 如果是pthread,则使用,
#include 《pthread.h》
pthread_t pthread_self(void);
2. 如果不是pthread,即是由内核创建的线程,则使用,
#include 《sys/types.h》
pid_t gettid(void);
获取线程所在的进程的id,方法如下:
#include 《sys/types.h》
#include 《unistd.h》
pid_t getpid(void);
pid_t getppid(void);
所以,我们在代码中使用如下的语句打印:
printf("\ntid=%lu, pid=%lu\n", gettid(), getpid());
这样就能获取当前代码所在的线程和进程了。
根据打印出来的进程的pid,获取进程名的方法是:
ls -lh /proc/pid/exe
lrwxrwxrwx 1 root root 0 Jan 1 20:48 /proc/pid/exe -》 ...
sh-3.2#
查看thread id的方法有:
1. sh-3.2# ps -efL | grep process,
ps命令指定-L命令选项可以用来查看进程下所包含的所有线程。
2. sh-3.2# ls -l /proc/pid/task/
查看进程下当前有哪些task,这些task指的就是线程。

更多文章:
apache不能在本地计算机启动(关于“Windows不能在本地计算机启动Apache2.并参考特定服务错误代码1“问题解决)
2026年1月4日 19:00
deepin开机的四个选项(win10和deepin双系统怎样设置启动项)
2026年3月2日 15:45
deficiency词源(minus的详细意思minus的详细意思是什么)
2026年9月23日 15:30
mysql workbench怎么运行sql文件(如何使用MySQL Workbench导入.sql文件)
2025年5月23日 03:00
webpack缺点(如何理解webpack文档中对AMD缺点的描述)
2026年9月10日 12:30
discuz采集插件(火车头采集的数据怎么发布在discuz网站)
2025年11月7日 09:30
accommodation theory名词解释(带sion后缀的单词~~快快快!)
2026年7月27日 18:15
htmlcssjs软件下载手机(前端div+css怎么放到手机里面查看效果)
2026年2月9日 05:00
centos7怎么安装yum(CentOS7 配置 yum 源和 epel 源)
2025年11月6日 00:30
面向对象程序设计是java吗(Java是一种面向对象的编程语言吗)
2025年7月24日 13:45
linux配置与管理web服务器(高分请教如何搭建Linux下的web服务器)
2025年12月1日 02:00
vfp中的常用函数(求Visual Foxpro常用数值函数)
2026年4月7日 23:15
淘宝智能版导航代码(求淘宝店铺导航条代码,半透明状态的如下图)
2026年1月29日 13:00
shady是什么意思(Eminem为什么又叫slim shady,什么意思)
2025年9月24日 14:15





