linux查询c进程命令 linux查看进程

linux怎么查询进程和进程的id

用top -u 命令查看进程以及PID。

成都创新互联公司 - 西部信息机房,四川服务器租用,成都服务器租用,四川网通托管,绵阳服务器托管,德阳服务器托管,遂宁服务器托管,绵阳服务器托管,四川云主机,成都云主机,西南云主机,西部信息机房,西南服务器托管,四川/成都大带宽,服务器机柜,四川老牌IDC服务商

命令如下:

$ 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怎样查询出当前系统的所有进程

本方法以linux发行版RHEL7为例,Linux下使用PS命令结合相关参数可以查看linux当前系统下的所有进程、所有运行中的进程、所有非root运行的进程、所有指定用户运行的进程。

1.桌面点击右键弹出菜单选择“Open in Terminal”,打开命令行终端

【以下操作输入命令均在命令行终端输入】

2.在命令行终端执行ps的帮助命令“ps --helpa”查看ps命令参数列表

3.根据参数显示,使用命令“ps -A”查看当前系统所有的进程

说明一下:从RHEL7开始服务的管理程序改为了systemd.

4.使用“ps-aux|less”,查看当前系统正在运行的所有进程【all】

使用q键退出

5.使用“ps -U root -u root -N”,查看当前系统中非root运行的所有进程

6.使用“ps –u sshd”,查看sshd用户运行的所有进程

sshd用户没有运行进程,也就是说明并没有启动ssh服务。

Linux怎么查看进程运行命令

一:linux查看进程命令详解

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

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

ps -A 显示所有程序。

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

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

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

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

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

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

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

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

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

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

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

最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。

ps aux | grep program_filter_word,ps -ef |grep tomcat

ps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。

二.扩展资料:linux 结束进程命令详解

使用kill命令结束进程:kill xxx

常用:kill -9 324

Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME

Linux 怎么根据进程号,找对应的进程!

1、Linux根据进程号查询相应的进程信息,可以使用ps命令的-q参数来进行查询。

2、举例来说,已知进程号为12840,查询其相应的进程。

ps -q 12840

说明:-q参数是ps的快速模式,使用该参数可以从pidlist中快速的读取必要的进程信息。后面接进程号,即pid号。

也可以使用如下命令只打印命令,也就是只显示进程名称:

ps -q 12840 -o comm=

说明:-o是指明输出的格式,comm=即输出格式只输出comand,即只显示进程的名称。

linux c 检查进程是否存在

1、ps 是一个shell里面的命令,用来输出当前进程状态的。想知道详细用法可以在linux命令行中输入: man ps

2、"ABNORMAL",注意这是一个字符串常量,因为在C语言中使用双引号可以定义一个字符串常量。这个字符串可以是程序员自己随便写的,就像"hello word" 一样。"ABNORMAL"表示不正常的意思。

3、ERROR、CONFLICT、NOERROR三个常量,可以使用#define语句进行定义。至于是在哪个头文件中定义很难说。我建议你可以在当前的.c文件开始的地方自己定义一下,例如:

#include stdio.h

... /*其他的头文件等等*/

#define ERROR -1

#define CONFLICT 1

#define NOERROR 0

... /*其他的函数*/

int detect_process(char * process_name)

{

FILE *ptr;

char buff[512];

char ps[128];

sprintf(ps,"ps -e | grep -c ' %s/p",process_name);

strcpy(buff,"ABNORMAL");

if((ptr=popen(ps, "r")) != NULL)

{

while (fgets(buff, 512, ptr) != NULL)

{

if(atoi(buff)=2)

{

pclose(ptr);

return CONFLICT;

}

}

}

if(strcmp(buff,"ABNORMAL")==0) /*ps command error*/

return ERROR;

pclose(ptr);

return NOERROR;

}

请注意:里面有个popen() pclose()函数,是通过管道创建一个进程,这两个函数必须要有stdio.h文件。具体的参数可以参看百度百科:。

atoi()函数能将字符串转换成整型数。参考百度百科:。

4、整个程序的意思是:

(1)使用"ps"命令,将结果保存到ps变量中,注意sprintf的第一个参数是一个char数组。

(2)将"ABNORMAL"字符串保存到buff变量中,buff也是一个char数组。

(3)使用popen()函数创建一个进程,并将这个进程定向到标准输出(也就是显示器上)。

(4)将进程的输入出存到buff变量中,然后将其转化为数字

(5)如果这个数字=2说明发生了冲突,返回CONFLICT

(6)在循环之后,比较一下,如果buff一直是"ABNORMAL",说明ps 命令出错,返回ERROR

(7)否则返回NOERROR

综上:ERROR、CONFLICT、NOERROR几个变量只是作为函数返回值,告诉函数调用者这次调用的结果而已,所以完全可以自己定义。除非你们公司已经规定了ERROR必须是某个值,不然你是可以自己定义的,只是在以后调用detect_process()函数的时候记得什么返回值对应什么结果就行了。

自己定义就是在.c文件开头使用#define 好了。


分享文章:linux查询c进程命令 linux查看进程
URL网址:http://scyanting.com/article/doojoij.html