linux获取进程id和进程名称
发布网友
发布时间:2022-04-20 12:40
我来回答
共1个回答
热心网友
时间:2022-05-09 19:25
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目录中有很多跟进程相关的东西,都可以用这种方法触类旁通地实现。
linux查看进程id
1、首先登录linux服务器。2、输入【pgrep 进程名称】即可获取到pid列表。3、使用ps -ef|grep +进程名 查看id 4、使用【top】命令查看进程pid。5、通过【ls /proc】命令查看进程pid。
Linux中获取进程名称的方法linux获取进程名称
1、ps命令 ps命令是Linux上最常用的进程查看操作,它可以输出当前系统正在运行的所有进程的信息,开发人员可以利用ps命令对Linux系统进行各种操作。例如,如果要获取进程的进程名称,可以运行以下代码:ps -ef | awk ‘{print $8}’ | head -n 1 其中,ef是ps命令的一个参数,用于显示所...
linux怎么查询进程和进程的id
top -u PID — 进程idUSER — 进程所有者PR — 进程优先级NI — nice值。负值表示高优先级,正值表示低优先级VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RESRES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATASHR — 共享内存大小,单位kbS — 进程状态。D=不可中断...
认识Linux下的进程名称linux进程名称
从上面可以看到,第一个进程的进程名称是/usr/lib/systemd/systemd,这就是这个进程的名称。另外,还有一种方式可以获取进程名称,使用/proc文件系统,linux下每个进程都有一个唯一的进程ID,比如在上面的例子里,进程1的进程ID就是1,我们可以到/proc/1/目录下面查看一些关于进程的文件来获取一些关于进程...
如何在Linux中指定进程名称linux指定进程名称
第一步:打开终端输入以下指令:ps aux > filename.txt 。这个指令会把当前运行的进程以文本格式记录到filename.txt文件中,其中包含进程号(pid)和进程名称(command)等信息。第二步:打开filename.txt文件,查找任务名称,找到想要修改名称的进程号。第三步:在终端输入以下指令:rename old-process-...
linux获取进程名称linux获取进程名
简单的来说就是分为两步:获取进程ID:ps-ef|grep进程名输出进程环境变量:cat/proc/pid(进程ID)/environ你可以多看看《Iinux就改这么学》这本书,很多都是很基础的,希望可以帮到你啊 linux获取进程id函数?linuxC中,获取当前进程id函数为getpid();头文件:#includeunistd.h> 函数原型:pid_t...
Linux 之 根据pid 查 端口号 ,服务名称
在Linux系统中,如果你需要查找特定的服务,可以通过其进程ID(PID)和对应的端口号来实现。首先,确定服务的名称,例如"ex-jdd-jrm-station-server-publisher"。然后,使用命令行工具如`netstat`或`lsof`来查找与该服务相关的端口号。通过运行命令`netstat -tuln | grep [服务端口号]`,可以列出所有与...
如何在 Linux 中找到一个进程 ID 并杀死它 | Linux 中国
首先,要找到正在运行的进程,使用命令行工具 top 或 ps。top 是一个默认安装的实用程序,显示所有进程及其 PID。通过输入如 "ps -ef | grep firefox" 可以找到特定应用的 PID。一旦找到 PID,即可通过 kill 命令来杀死进程。例如,"killall Firefox" 或 "kill [PID]",后者需要你手动输入找到的 ...
Linux通过进程ID查找文件路径
步骤1:定位进程PID首先,使用ps和grep组合命令找到目标进程的PID。例如:shellps aux | grep [目标进程名称]步骤2:查看进程详细信息在/proc/[PID]目录下,有众多文件提供进程信息。如查看可执行文件路径,需关注的文件是/proc/[PID]/exe。步骤3:查看可执行文件路径使用ls -l命令查看/proc/[PID]/...
linux 启动进程怎么获取进程号
获取某个正在运行的进程的进程号PID可以用pidof命令,pidof命令的用法很简单,pidof加上进程名字就可以了,比如查看syslogd进程的进程号:pidof syslogd