linux怎么查看指定进程,第1张

关键字: linux 查进程、杀进程、起进程

1查进程

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进程。

2杀进程

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

常用:kill -9 324

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

3进入到进程的执行文件所在的路径下,执行文件 /文件名

ps命令用于查看系统中的进程状态,格式为:“ps [参数]”,

常见的ps命令参数包括有:

-a 显示所有的进程(包括其他用户的)

-u 用户以及其他详细信息

-x 显示没有控制终端的进程

Linux系统中时刻运行着许许多多的进程,如果能够合理的管理它们,绝对有益于对系统的性能优化,Linux系统中进程最常见的5种不同的状态是运行、中断、不可中断、僵死与停止,它们的含义分别是:《Linux就该这么学》这本书上有详细的介绍,网址为

R(运行):正在运行或在运行队列中等待。

S(中断):休眠中, 在等待某个条件的形成或接收到信号。

D(不可中断):收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。

Z:(僵死):进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。

T:(停止):进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行。当执行"ps aux"命令后通常会看到下面格式的进程状态,表格中只是列举了部分输出值,而且正常的输出值中不包括中文注释部分:

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查看ssh端口号命令?

请使用"netstat-ntlp|grepssh"命令查看,第三列是ip:port,比如0000:22,表示监听在所有网卡,端口是22。

通过查看配置文件也可以:cat/etc/ssh/sshd_config|grepPort

查看linux聚合口的命令?

查看Apache的并发请求数及其TCP连接状态:Linux命令:netstat-n|awk‘/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}’返回结果示例:LAST_ACK5SYN_RECV30ESTABLISHED1597FIN_WAIT151FIN_WAIT2504TIME_WAIT1057其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):Linux命令:ps-ef|grephttpd|wc-l查看Apache的并发请求数及其TCP连接状态:Linux命令:netstat-n|awk‘/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}’返回结果示例:LAST_ACK5SYN_RECV30ESTABLISHED1597FIN_WAIT151FIN_WAIT2504TIME_WAIT1057说明:SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。netstat常见参数-a(all)显示所有选项,默认不显示LISTEN相关-t(tcp)仅显示tcp相关选项-u(udp)仅显示udp相关选项-n拒绝显示别名,能显示数字的全部转化成数字。-l仅列出有在Listen(监听)的服?兆刺?/p》-p显示建立相关链接的程序名-r显示路由信息,路由表-e显示扩展信息,例如uid等-s按各个协议进行统计-c每隔一个固定时间,执行该netstat命令。提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

linux如何开端口?

nc-lp22(需要root权限,如果不是root身份登录,可以用suroot或sudo来提权)完成后可用改命令查询是否已打开netstat-an|grep22

linux怎么开启端口和关闭端口?

一、查看哪些端口被打开netstat-anp二、关闭端口号:iptables-AINPUT-ptcp--drop端口号-jDROPiptables-AOUTPUT-ptcp--dport端口号-jDROP三、打开端口号:iptables-AINPUT-ptcp--dport端口号-jACCEPT四、以下是linux打开端口命令的使用方法。nc-lp23(打开23端口,即telnet)netstat-an|grep23(查看是否打开23端口)五、linux打开端口命令每一个打开的端口,都需要有相应的监听程序才可以适合入门的学习途径,请阅读《Linux就该这么学》

你得查看后台存在的进程 #jobs

#fg

#bg

两个命令是调入前台和后台的命令

在命令后面加上一个 &

比如:

rm -rf /tmp/ &

Linux 技巧:让进程在后台可靠运行的几种方法

WeiboGoogle+用电子邮件发送本页面

我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。

nohup/setsid/&

场景:

如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运行呢?  

hangup 名称的来由

在 Unix 的早期版本中,每个终端都会通过 modem 和系统通讯。当用户 logout 时,modem 就会挂断(hang up)电话。 同理,当 modem 断开连接时,就会给终端发送 hangup 信号来通知其关闭所有子进程。

解决方法:

我们知道,当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。因此,我们的解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程。  

1 nohup

nohup 无疑是我们首先想到的办法。顾名思义,nohup 的用途就是让提交的命令忽略 hangup 信号。让我们先来看一下 nohup 的帮助信息:

NOHUP(1)                        User Commands                        NOHUP(1) NAME       nohup - run a command immune to hangups, with output to a non-tty SYNOPSIS       nohup COMMAND [ARG]       nohup OPTION DESCRIPTION       Run COMMAND, ignoring hangup signals        --help display this help and exit        --version              output version information and exit

可见,nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到 nohupout 文件中。一般我们可在结尾加上"&"来将命令同时放入后台运行,也可用">filename 2>&1"来更改缺省的重定向文件名。

[root@pvcent107 ~]# nohup ping wwwibmcom &[1] 3059nohup: appending output to `nohupout'[root@pvcent107 ~]# ps -ef |grep 3059root      3059   984  0 21:06 pts/3    00:00:00 ping wwwibmcomroot      3067   984  0 21:06 pts/3    00:00:00 grep 3059[root@pvcent107 ~]#

2。setsid

nohup 无疑能通过忽略 HUP 信号来使我们的进程避免中途被中断,但如果我们换个角度思考,如果我们的进程不属于接受 HUP 信号的终端的子进程,那么自然也就不会受到 HUP 信号的影响了。setsid 就能帮助我们做到这一点。让我们先来看一下 setsid 的帮助信息:

SETSID(8)                 Linux Programmer’s Manual                 SETSID(8) NAME       setsid - run a program in a new session SYNOPSIS       setsid program [ arg ] DESCRIPTION       setsid runs a program in a new session

可见 setsid 的使用也是非常方便的,也只需在要处理的命令前加上 setsid 即可。

[root@pvcent107 ~]# setsid ping wwwibmcom[root@pvcent107 ~]# ps -ef |grep wwwibmcomroot     31094     1  0 07:28         00:00:00 ping wwwibmcomroot     31102 29217  0 07:29 pts/4    00:00:00 grep wwwibmcom[root@pvcent107 ~]#

值得注意的是,上例中我们的进程 ID(PID)为31094,而它的父 ID(PPID)为1(即为 init 进程 ID),并不是当前终端的进程 ID。请将此例与nohup 例中的父 ID 做比较。

3。&

这里还有一个关于 subshell 的小技巧。我们知道,将一个或多个命名包含在“()”中就能让这些命令在子 shell 中运行中,从而扩展出很多有趣的功能,我们现在要讨论的就是其中之一。

当我们将"&"也放入“()”内之后,我们就会发现所提交的作业并不在作业列表中,也就是说,是无法通过jobs来查看的。让我们来看看为什么这样就能躲过 HUP 信号的影响吧。

[root@pvcent107 ~]# (ping wwwibmcom &)[root@pvcent107 ~]# ps -ef |grep wwwibmcomroot     16270     1  0 14:13 pts/4    00:00:00 ping wwwibmcomroot     16278 15362  0 14:13 pts/4    00:00:00 grep wwwibmcom[root@pvcent107 ~]#

从上例中可以看出,新提交的进程的父 ID(PPID)为1(init 进程的 PID),并不是当前终端的进程 ID。因此并不属于当前终端的子进程,从而也就不会受到当前终端的 HUP 信号的影响了。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » linux怎么查看指定进程

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情