linux 查看进程 pid(linux可视化软件开发)

如何在Linux中查看所有正在运行的进程

你可以使用ps命令。它能显示当前运行中进程的相关信息,包括进程的PID。Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息。ps命令能提供一份当前进程的快照。如果你想状态可以自动刷新,可以使用top命令。

ps命令

输入下面的ps命令,显示所有运行中的进程:

# ps aux| less

其中,

-A:显示所有进程

a:显示终端中包括其它用户的所有进程

x:显示无控制终端的进程

任务:查看系统中的每个进程。

# ps-A

# ps-e

任务:查看非root运行的进程

# ps-U root-u root-N

任务:查看用户vivek运行的进程

# ps-u vivek

任务:top命令

top命令提供了运行中系统的动态实时视图。在命令提示行中输入top:

# top

输出:

图1:top命令:显示Linux任务

按q退出,按h进入帮助。

任务:显示进程的树状图。

pstree以树状显示正在运行的进程。树的根节点为pid或init。如果指定了用户名,进程树将以用户所拥有的进程作为根节点。

$ pstree

输出示例:

图2:pstree-显示进程的树状图

任务:使用ps列印进程树

# ps-ejH

# ps axjf

任务:获得线程信息

输入下列命令:

# ps-eLf

# ps axms

任务:获得安全信息

输入下列命令:

# ps-eo euser,ruser,suser,fuser,f,comm,label

# ps axZ

# ps-eM

任务:将进程快照储存到文件中

输入下列命令:

# top-b-n1>/tmp/process.log

你也可以将结果通过邮件发给自己:

# top-b-n1| mail-s'Process snapshot' you@example.com

任务:查找进程

使用pgrep命令。pgrep能查找当前正在运行的进程并列出符合条件的进程ID。例如显示firefox的进程ID:

$ pgrep firefox

下面命令将显示进程名为sshd、所有者为root的进程。

$ pgrep-u root sshd

向htop和atop说hello

htop是一个类似top的交互式进程查看工具,但是可以垂直和水平滚动来查看所有进程和他们的命令行。进程的相关操作(killing,renicing)不需要输入PID。要安装htop输入命令:

# apt-get install htop

# yum install htop

在命令提示行中输入htop:

# htop

输出示例:

图3:htop- Interactive Linux/ UNIX process viewer

atop工具

atop是一个用来查看Linux系统负载的交互式监控工具。它能展现系统层级的关键硬件资源(从性能角度)的使用情况,如CPU、内存、硬盘和网络。

它也可以根据进程层级的CPU和内存负载显示哪个进程造成了特定的负载;如果已经安装内核补丁可以显示每个进程的硬盘和网络负载。输入下面的命令启动atop:

Linux查看进程idlinuxid查看进程

linux查看进程由哪个进程启动?

1、查看进程“打开”的文件(方法1):

1)pidofprograme-name(获得想了解的进程(programe-name)的PID)或ps-aux|grepprograme-name(获得想了解的进程(programe-name)的PID)找出进程的PID2)cd/proc/$PID/fd(会看见文件描述符)

3)ls-l得到文件描述符指向的实际文件,即当前进程打开的文件2、查看进程“打开”的文件(方法2):

1)获得想了解的进程的PID方法同上2)lsof-cprograme-name或lsof-p$PID

linux怎么查看一个进程的执行状态?

1,写一个服务,用exec或popen执行ps的命令行,根据该进程的名字获取该进程的pid。

sprintf(cmd,"ps-ef|grep%s",name);

pstr=popen(cmd,"r");

然后php定时的请求这个机器上的进程状态,如果进程挂掉了,可以做个预警。

2,如果想做的更多,监视当前每个进程的资源消耗,比如CPU,内存,根据进程的id,可以去拿到/proc/pid/status中的一些数据,比如:

//获取进程占用内存

unsignedintget_proc_mem(unsignedintpid){

charfile_name={0};

FILE*fd;

charline_buff={0};

sprintf(file_name,"/proc/%d/status",pid);

fd=fopen(file_name,"r");

if(nullptr==fd){

return0;

}

charname;

intvmrss;

for(inti=0;iVMRSS_LINE-1;i++){

fgets(line_buff,sizeof(line_buff),fd);

}

fgets(line_buff,sizeof(line_buff),fd);

sscanf(line_buff,"%s%d",name,vmrss);

fclose(fd);

returnvmrss;

}

然后你就可以通过一些图形做一些动态展示了。

linux中,怎么查看进程所对应的服务名呢?

1。查看进程占用的端口号netstat-anp#netstat-anp|grepsyslogudp000。0。0。0:5140。

0。0。0:*31483/syslogd

2。

查看使用端口号的进程lsof#lsof-i:514COMMANDPIDUSERFDTYPEDEVICESIZENODENAMExinetd4027root6uIPv48560TCP*:shell(LISTEN)syslogd31483root8uIPv4428081UDP*:syslog。

linux怎么确认进程是谁调用?

通过pid,ps-lA和psaxjf都能看到父进程的PID(ppid),编程的话,可用getppid函数

linux中查看系统当前所有进程的命令是?

Linux查询出当前系统的所有进程的方法使用搜索功能搜索“Terminal”,打开Ubuntu命令行终端。通过控制台Terminal,执行ps的帮助命令“ps--helpa”查看ps命令支持的参数列表。在控制台,使用命令“ps-A”查看当前系统所有的进程。在控制台使用ps命令“ps-aux|less”,查看当前系统正在运行的所有进程。在控制台使用ps命令“ps-Uroot-uroot-N”,查看当前系统中非root运行的所有进程。在控制台使用ps命令“ps-utest”,查看当前系统中test用户运行的所有进程。

linux服务器怎么看进程pid

要查看进程的PID,有几种方法:

1、使用pidof命令

pidof命令按名称查找进程的PID。例如,要查找名为firefox的进程的PID,可以使用以下命令:

$ pidof firefox

这将打印进程的PID:

12345

2、使用pgrep命令

pgrep命令根据模式或程序名搜索正在运行的进程的PID。例如,要查找以字母f开头的所有进程的PID,可以使用以下命令:

$ pgrep-f f

这将打印所有匹配进程的PID列表:

12345

56789

3、使用ps命令

ps命令列出系统中的进程。要查看进程的PID,可以使用以下选项:

$ ps-p

例如,要查看PID为12345的进程,可以使用以下命令:

$ ps-p 12345

这将打印有关该进程的信息,包括其PID:

UID PID PPID C STIME TTY TIME CMD

user1 12345 12344 0 14:31:23? 00:00:00 firefox

4、查看/proc目录

/proc目录包含有关正在运行进程的信息。每个进程都有一个以其PID命令的子目录。例如,要查看PID为12345的进程的信息,可以使用以下命令:

$ cd/proc/12345

在该子目录中,可以找到有关进程的各种信息,包括其PID:

$ cat stat

...

pid:12345

...

阅读剩余
THE END