Ⅰ 如何在linux中查看所有正在运行的进程
可以使用top命令。
top命令提供了运行中系统的动态实时视图。在终端中输入top:
第一行:
10:01:23
当前系统时间
126
days,
14:29
系统已经运行了126天14小时29分钟(在这期间没有重启过)
2
users
当前有2个用户登录系统
load
average:
1.15,
1.42,
1.44
load
average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load
average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第二行:
Tasks
任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:cpu状态
6.7%
us
用户空间占用CPU的百分比。
0.4%
sy
内核空间占用CPU的百分比。
0.0%
ni
改变过优先级的进程占用CPU的百分比
92.9%
id
空闲CPU百分比
0.0%
wa
IO等待占用CPU的百分比
0.0%
hi
硬中断(Hardware
IRQ)占用CPU的百分比
0.0%
si
软中断(Software
Interrupts)占用CPU的百分比
在这里CPU的使用比率和windows概念不同,如果你不理解用户空间和内核空间,需要充充电了。
第四行:内存状态
8306544k
total
物理内存总量(8GB)
7775876k
used
使用中的内存总量(7.7GB)
530668k
free
空闲内存总量(530M)
79236k
buffers
缓存的内存量
(79M)
第五行:swap交换分区
2031608k
total
交换区总量(2GB)
2556k
used
使用的交换区总量(2.5M)
2029052k
free
空闲交换区总量(2GB)
4231276k
cached
缓冲的交换区总量(4GB)
Ⅱ 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 — 进程名称(命令名/命令行)
Ⅲ 如何在Linux中查看所有正在运行的进程
查看Linux中所有正在运行的进程 ,可以参考如下方法:
1、通过ps命令的-A或者-e参数来获取系统中所有的进程,这两个参数的作用一样的。
Ⅳ python脚本怎么获取远程linux服务器的进程名
进程信息
/proc目录包含了所有正运行的进程目录。这些目录的名字和进程的标识符是一样的。所以,如果你遍历/proc目录下那些使用数字作为它们的名字的目录,你就会获得所有现在正在运行的进程列表。在下面的代码中process_list()函数返回所有现在正在运行的进程的标识符列表。当你执行这个程序后,这个列表的长度就是在系统上运行的总进程数。
复制代码 代码如下:
#!/usr/bin/env python
"""
List of all process IDs currently active
"""
from __future__ import print_function
import os
def process_list():
pids = []
for subdir in os.listdir('/proc'):
if subdir.isdigit():
pids.append(subdir)
return pids
if __name__=='__main__':
pids = process_list()
print('Total number of running processes:: {0}'.format(len(pids)))
上面的程序当执行后会显示和下面类似的输出:
复制代码 代码如下:
Total number of running processes:: 229
每个进程目录包含了一些其他文件和目录,如进程命令的调用,它正使用的共享库以及其它的。
建议看看《Linux就该这么学》这本书
Ⅳ 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目录中有很多跟进程相关的东西,都可以用这种方法触类旁通地实现。