linux查看进程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指的就是线程。
⑵ linux查看pid号和进程的命令有哪些
[root@iZ259r7h4pfZ ~]# ps aux|grep nginx
root 961 0.0 0.0 46288 1480 ? Ss Mar19 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
[root@iZ259r7h4pfZ ~]# lsof -p 961
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 961 root cwd DIR 202,1 4096 2 /
nginx 961 root rtd DIR 202,1 4096 2 /
nginx 961 root txt REG 202,1 5027882 1078631 /usr/local/nginx/sbin/nginx
⑶ 如何在Linux中查看所有正在运行的进程
查看Linux中所有正在运行的进程 ,可以参考如下方法:
1、通过ps命令的-A或者-e参数来获取系统中所有的进程,这两个参数的作用一样的。
⑷ linux查看pid 对应的程序
首先,你得知道进程名字,可以通过ps -ux来查看所有进程,也可以用管道符 “|”来筛选。
其次。得到名字之后可用pgrep命令来查看pid,比如:pgrep java 或者pgrep -l java。
手打,望采纳。
⑸ linux 怎么查询pid是否存在
方法有很多,最简单的方法是,直接输入你想要查看命令的名字,如果显示帮助或者有显示结果证明命令存在,如果显示command not found则说明不存在。 还可以使用which命令。which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,...
⑹ 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
首先,你得知道进程名字,可以通过ps -ux来查看所有进程,也可以用管道符 “|”来筛选。
其次。得到名字之后可用pgrep命令来查看pid,比如:pgrep java 或者pgrep -l java。
手打,望采纳。