当前位置:首页 » 操作系统 » linux获取进程id

linux获取进程id

发布时间: 2022-11-21 21:55:48

1. linux查看进程命令

1、首先打开xshell软件,连接上linux服务器,使用指令ps查看系统进程,参数a表示全部,u表示以用户格式显示,x表示进程参数。

2. linux获取进程id和进程名称

linux获取进程id和进程名称作为一个共享库,应该需要统计使用本库的各种应用程序的使用频率,使用方法等信息。才能针对主要应用做出更好的改进。
www.dnjsb.com
那么就需要记录调用者的进程id或者进程名称,并且保存下来。保存的动作可以采用共享内存,也可以采用文件,这个在下篇博文描述,本文描述如何获取进程id和进程名称。范例:#include
<stdio.h>#include
<unistd.h>#define
CFGMNG_TASK_NAME_LEN
256int
main(){
int
ret;
char
ac_tmp[CFGMNG_TASK_NAME_LEN];
ret
=
cfgmng_get_taskname(ac_tmp,
CFGMNG_TASK_NAME_LEN);
if
(0
!=
ret)
{
printf(Call
cfgmng_get_taskname
fail./n);
return
-1;
}
printf(The
running
task
name
is
%s./n,
ac_tmp);
return
0;}int
cfgmng_get_taskname(char
*ac,
int
len){
int
count
=
0;
int
nIndex
=
0;
char
chPath[CFGMNG_TASK_NAME_LEN]
=
{0};
char
cParam[100]
=
{0};
char
*cTem
=
chPath;
int
tmp_len;
pid_t
pId
=
getpid();
sprintf(cParam,/proc/%d/exe,pId);/*
printf(cParam
=
%s./n,
cParam);*/
count
=
readlink(cParam,
chPath,
CFGMNG_TASK_NAME_LEN);/*
printf(count
=
%d./n,
count);*/
if
(count
<
0
||
count
>=
CFGMNG_TASK_NAME_LEN)
{
printf(Current
System
Not
Surport
Proc./n);
return
-1;
}
else
{
nIndex
=
count
-
1;
for(
;
nIndex
>=
0;
nIndex--)
{
if(
chPath[nIndex]
==
'/'
)//筛选出进程名
{
nIndex++;
cTem
+=
nIndex;
break;
}
}
}
tmp_len
=
strlen(cTem);
if
(0
==
tmp_len)
{
printf(Get
task
fail./n);
return
-1;
}
if
(len
<=
tmp_len
+1)
{
printf(len(%d)
is
less
than
taskname(%s)'s
len./n,
len,
cTem);
return
-1;
}
strcpy(ac,
cTem);
return
0;}从上面的实验范例可以看出,主要使用的函数是getpid获取本进程的id,再到/proc/pid/exe
中去找到对应的进程名称。在/proc目录中有很多跟进程相关的东西,都可以用这种方法触类旁通地实现。

3. Linux SHELL 获取进程ID

slp后无论加不加& ,pid中获取到的实际进程ID和main进程ID始终是一样的,因为slp函数是在当前脚本进程中运行。除非你调用外部脚本。

你可以在 slp & 这句后加一句 ps >/tmp/log
然后看看slp后加&和不加&的情况下/tmp/log中显示的进程列表有何不同,就应该明白了。区别仅在于 $! 有值和没有值。

4. 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 — 进程名称(命令名/命令行)

5. Linux文件句柄占用数量查看与设置

安装lsof

yum install lsof

查看线程占句柄数

ulimit -a

查看系统打开句柄最大数量

more /proc/sys/fs/file-max

1

查看打开句柄总数

lsof|awk '{print $2}'|wc -l

1

根据打开文件句柄的数量降序排列,其中第二列为进程ID:

lsof|awk '{print $2}'|sort|uniq -c|sort -nr|more

1

根据获取的进程ID查看进程的详情

ps -ef |grep

1

修改linux单进程最大文件连接数

修改linux系统参数。vi /etc/security/limits.conf 添加

softnofile65536

hardnofile65536

修改以后保存,注销当前用户,重新登录,执行ulimit -a ,ok ,参数生效了:

6. Linux通过进程ID查看文件路径

1、用ps -ef |grep xxxxx 得到该进程的pid

2、输入ls -l ,结果中 exe链接对应的就是可执行文件的路径
$ ls -l /proc/18283

以下是/proc目录中进程18283的信息

/proc/18283 pid为N的进程信息

/proc/18283/cmdline 进程启动命令

/proc/18283/cwd 链接到进程当前工作目录

/proc/18283/environ 进程环境变量列表

/proc/18283/exe 链接到进程的执行命令文件

/proc/18283/fd 包含进程相关的所有的文件描述符

/proc/18283/maps 与进程相关的内存映射信息

/proc/18283/mem 指代进程持有的内存,不可读

/proc/18283/root 链接到进程的根目录

/proc/18283/stat 进程的状态

/proc/18283/statm 进程使用的内存的状态

/proc/18283/status 进程状态信息,比stat/statm更具可读性

7. 如何在Windows和Linux下获取当前线程的ID号

windows最简单了:呼出任务管理器就成了,ctrl+shift+ESC
linux就用ps命令
ps aux
一般跟上筛选语句grep
ps aux | grep "firewalld" ##找防火墙的PID

对了,以上这个是找进程的,不是找线程的

8. linux 如何查看某个程序的进程号

方法一:PS
在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为的进程创建的所有线程。
$
ps
-T
-p
“SID”栏表示线程ID,而“CMD”栏则显示了线程名称。
方法二:
Top
top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。
$
top
-H
要让top输出某个特定进程并检查该进程内运行的线程状况:
$
top
-H
-p

9. linux 获取进程id 函数

linux C中,获取当前进程id 函数为getpid() ;

头文件:#include<unistd.h>

函数原型:pid_tgetpid(void);

函数说明:getpid()用来取得目前进程的进程id,许多程序利用取到的此值来建立临时文件,以避免临时文件相同带来的问题。

返回值:目前进程的进程id

范例
#include<stdio.h>
#include<unistd.h>
main()
{
printf("pid=%d ",getpid());
}

执行:
pid=1494/*每次执行结果都不一定相同*/

10. linux 下查看进程用什么命令

linux 下查看进程可以使用的命令:

1、ps命令查找与进程相关的PID号:

2、ps a 显示现行终端机下的所有程序,包括其他用户的程序。

3、ps -A 显示所有程序。

4、ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。

5、ps -e 此参数的效果和指定"A"参数相同。

6、ps e 列出程序时,显示每个程序所使用的环境变量。

7、ps f 用ASCII字符显示树状结构,表达程序间的相互关系。

8、ps -H 显示树状结构,表示程序间的相互关系。

9、ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。

10、ps s 采用程序信号的格式显示程序状况。

11、ps S 列出程序时,包括已中断的子程序资料。

12、ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。

13、ps u 以用户为主的格式来显示程序状况。

14、ps x 显示所有程序,不以终端机来区分。

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:331
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:371
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:606
java用什么软件写 发布:2025-05-18 03:56:19 浏览:27
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:100
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:935
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:730
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:798
网卡访问 发布:2025-05-18 03:35:04 浏览:506
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:367