当前位置:首页 » 操作系统 » linux判断进程存在

linux判断进程存在

发布时间: 2022-05-31 11:34:14

linux查看是否有某个运行的进程命令(不包括

查看所有进程:
1.ps -ef
2.ps -aux
e = all processes 显示所有进程
f = full全格式
a = show processes for all users 显示所有用户的进程u = display the process's user/owner 显示用户x = also show processes not attached to a terminal 显示无控制终端的进程
查看单个进程是否运行:
ps -ef|grep 进程
ps -aux|grep 进程
ps -ef显示参数详解:
UID 用户IDPID 进程IDPPID 父进程IDC CPU占用率STIME 开始时间TTY 开始此进程的TTYTIME 此进程运行的总时间CMD 命令名
ps -aux显示参数详解:
PID 进程的ID;
PPID 父进程;
%CPU 进程占用的CPU百分比;
%MEM 占用内存的百分比;
NI 进程的NICE值,数值大,表示较少占用CPU时间;
VSZ 进程虚拟大小;
RSS 驻留中页的数量;
TTY 终端ID
STAT 进程状态(有以下几种)
D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换(从内核2.6开始无效);
X 死掉的进程(从来没见过);
Z 僵尸进程;
< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存;
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ 位于后台的进程组;
WCHAN 正在等待的进程资源;
START 启动进程的时间;
TIME 进程消耗CPU的时间;
COMMAND 命令的名称和参数;
ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具.

㈡ 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>文件。具体的参数可以参看网络:http://ke..com/view/2445803.htm?fr=aladdin。
atoi()函数能将字符串转换成整型数。参考网络:http://ke..com/view/653935.htm。

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查看进程命令

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

㈣ linux查看是否有某个运行的进程命令

Linux查看所有正在运行的进程,可以用ps aux命令,它的-a参数,表示不与终端有关的进程也显示出来。如果想知道某个进程是否在运行,可以用ps aux命令加管道符和grep选取命令,grep选取命令可以根据关键字来过滤管道符传递过来的数据,从而只列出用户想看到的内容,比如想知道httpd进程是否在运行就可以这样:
ps aux | grep httpd
如果httpd进程没有运行,这个命令就不显示任何内容;如果httpd进程正在运行,这个命令就会显示httpd进程的相关信息。

㈤ linux查看某个进程是否存在

使用 ps 命令,比如:
ps -au 看的是所有用户进程
ps -aux 会看到所有的后台进程,包括一些系统的进程,就很多了
如果你只想找到某个指定进程
ps -ef | grep python 就会看到所有跟python有关的进程,其它进程,你换个名字就好了,
搜到有,那这个进程就存在,没有也有搜索不到

㈥ linux下如何判断进程有没有运行

可以用ps命令查看进程,然后grep正则查找进程名,比如 判断bash
ps -aux | grep bash

㈦ linux怎么判断一个进程是否存在

pidof + 进程名
如果进程存在,就会打印出该进程的pid。

㈧ linux 怎么检查进程是否存在

在terminal中输入ps -ef | grep 进程名 或者 ps -aux | grep 进程名 ,也可以直接ps -ef,这样就可以看到所有的进程了

㈨ linux 检查进程是否存在

  1. 知道进程的准确名称,可以执行命令: pidof 进程名

若有返回值,则存在。

2.不知道进程的准确名称,只知道含某些字母(这里假设含abc),可以执行命令:

ps -A|grep abc

若有返回信息,则存在。

㈩ linux shell 判断进程是否存在

如果你是通过一个进程的名字作为关键词来查找进程是否存在的话,可使用
ps
-ef
|
grep
"<关键词>"
|
wc
-l
输出为0表示不存在,输出大于0,表示存在,且数字就是这个关键词进程的个数;
如果你是通过进程号PID来查找进程是否存在,可以使用
ps
--no-heading
|
wc
-l
同样,
输出为0表示不存在,输出=1,表示存在,因为进程号不可能重复,所以输出肯定非0即1

热点内容
svm遗传算法 发布:2025-01-11 08:11:15 浏览:216
8岁讲编程 发布:2025-01-11 08:02:41 浏览:129
迅雷的tracker服务器地址 发布:2025-01-11 08:02:07 浏览:507
csgo天津服务器ip 发布:2025-01-11 07:57:36 浏览:613
中国天气android 发布:2025-01-11 07:56:53 浏览:464
服务器负载均衡怎么用 发布:2025-01-11 07:54:04 浏览:129
云打印服务器硬件 发布:2025-01-11 07:44:56 浏览:769
怎么在手机上更改wifi密码 发布:2025-01-11 07:37:26 浏览:337
开机启动serviceandroid 发布:2025-01-11 07:35:24 浏览:524
天龙八部脚本设置自动喊话 发布:2025-01-11 07:31:37 浏览:310