名称:ps

使用权限:所有使用者

使用方式:ps [options] [--help]

说明:显示瞬间行程 (process) 的动态

参数:

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 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义

-A 列出所有的行程

-w 显示加宽可以显示较多的资讯

-au 显示较详细的资讯

-aux 显示所有包含其他使用者的行程

au(x) 输出格式 :

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

USER: 行程拥有者

PID: pid

%CPU: 占用的 CPU 使用率

%MEM: 占用的记忆体使用率

VSZ: 占用的虚拟记忆体大小

RSS: 占用的记忆体大小

TTY: 终端的次要装置号码 (minor device number of tty)

STAT: 该行程的状态:

D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)

R: 正在执行中

S: 静止状态

T: 暂停执行

Z: 不存在但暂时无法消除

W: 没有足够的记忆体分页可分配

<:>

N: 低优先序的行程

L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O)

START: 行程开始时间

TIME: 执行的时间

COMMAND:所执行的指令

范例:

ps

PID TTY TIME CMD

2791 ttyp0 00:00:00 tcsh

3092 ttyp0 00:00:00 ps

% ps -A

PID TTY TIME CMD

1 ? 00:00:03 init

2 ? 00:00:00 kflushd

3 ? 00:00:00 kpiod

4 ? 00:00:00 kswapd

5 ? 00:00:00 mdrecoveryd

.......

% ps -aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]

root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]

root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]

root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]

1、基本概念

软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。注意,信号只是用来通知某进程发生了什么事件,并不给该进程传递任何数据。

收到信号的进程对各种信号有不同的处理方法。处理方法可以分为三类:第一种是类似中断的处理程序,对于需要处理的信号,进程可以指定处理函数,由该函数来处理。第二种方法是,忽略某个信号,对该信号不做任何处理,就象未发生过一样。第三种方法是,对该信号的处理保留系统的默认值,这种缺省操作,对大部分的信号的缺省操作是使得进程终止。进程通过系统调用signal来指定进程对某个信号的处理行为。

在进程表的表项中有一个软中断信号域,该域中每一位对应一个信号,当有信号发送给进程时,对应位置位。由此可以看出,进程对不同的信号可以同时保留,但对于同一个信号,进程并不知道在处理之前来过多少个。

函数原型:

#include

void (*signal (int signo, void (* func)(int)))

(int);

sig_t signal(int signum,sig_t handler)

signum:设置信号处理函数所依据的信号编号

handler:信号处理函数

signal函数的原型说明此函数要求两个参数,返回一个函数指针,而该指针所指向的函数返回值( void

)。第一个参数signo是一个整型数,第二个参数是函数指针,它所指向的函数需一个整型参数,无返回值。用一般语言来描述也就是要向信号处理程序传送一个整型参数,它却无返回值。当调用signal设置信号处理程序时,第二个参数是指向该函数

(也就是信号处程序)的指针。signal的返回值则是指向以前的信号处理程序的指针。

例如:sig_bus.cpp

#includesignal.h>

#includestdio.h>

#includestdlib.h>

void my_func(int sign_no)

{

if(sign_no=SIGBUS)

{

printf("I

have get SIGBUS\n");

}

}

int main()

{

printf("Waiting for signal

SIGBUS\n");

//注册信号处理函数

signal(SIGBUS,my_func); pause();//将进程挂起,直到扑捉到信号为止

exit(0);

}

在终端中

gcc sig_bus.c -o sig_bus

./sig_bus

显示:Waiting for signal SIGBUS

打开另一终端,查找sin_bus的进程号 通过kill命令发送SIGBUS信号给这个进程

ps -aux|grep sig_bus

得到:root 20256 0.0 0.0 1988 280

pts/3 S+ 09:50 0:00 ./deal

kill -BUS 20256

从而在另一终端显示:I have get SIGBUS

1.作用

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global

Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

2.格式

grep [options]

3.主要参数

[options]主要参数:

-c:只输出匹配行的计数。

-I:不区分大 小写(只适用于单字符)。

-h:查询多文件时不显示文件名。

-l:查询多文件时只输出包含匹配字符的文件名。

-n:显示匹配行及 行号。

-s:不显示不存在或无匹配文本的错误信息。

-v:显示不包含匹配文本的所有行。

pattern正则表达式主要参数:

\: 忽略正则表达式中特殊字符的原有含义。

^:匹配正则表达式的开始行。

$: 匹配正则表达式的结束行。

\

\>:到匹配正则表达式的行结束。

[ ]:单个字符,如[A]即A符合要求 。

[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。

。:所有的单个字符。

* :有字符,长度可以为0。

linux 脚本 ps grep,linux中PS命令和grep命令以及信号处理函数相关推荐

  1. linux脚本case语句,shell中的case语句,数组及函数

    case示例 ---------------------------------------------------------------------- .. echo "case&quo ...

  2. linux 脚本编写基本命令,Linux Shell命令行及脚本编程实例详解

    <Linux典藏大系:Linux Shell命令行及脚本编程实例详解>共15章,分为两篇.主要内容包括:Linux 及Linux Shell简介.初识Linux Shell.常用Shell ...

  3. linux脚本重启进程,linux下通过脚本实现自动重启程序

    假定需要实现重启的程序名为 test ,我们这里通过判断进程数目来判断程序是否正常. ps -ef | grep "$1" | grep -v "grep" | ...

  4. linux脚本编写思想,Linux脚本编写入门基础(三)

    1.1.2 注释在进行shell编程时,以#开头的句子表示注释,直到这一行的结束.我们真诚地建议您在程序中使用注释.如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚 ...

  5. linux脚本定时任务,使用Linux脚本执行定时任务

    #!/bin/sh # #cli根目录 #以#开头的行是注释,但注意,第一行#!不是注释,是指定脚本的解释文件 clidir=/home/dev/web #定义了一个名为clidir变量,注意=两端不 ...

  6. linux脚本日期时间,Linux 日期和时间操作详解

    Linux 日期和时间操作详解 发布时间:2012-11-27 15:10:07   作者:佚名   我要评论 Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Cl ...

  7. html中的ps,网页制作中PS图像处理的应用

    网页制作中PS图像处理的应用 photoshop是一个功能强大的图像处理软件,可以对各种格式的图像文件进行非常精细与独特的处理,不仅适用于广告用图.美术摄影作品的处理,也广泛用于网页图像元素的处理.下 ...

  8. linux脚本登陆ftp,linux shell 下自动登录ftp服务器并自动上传下载文件

    1.自动下载 #!/bin/sh ftp -n 192.168.0.231 << EOF #-n表示-n意思是不读取默认.netrc文件中的设定,< user whl whl #用户 ...

  9. linux ps mysql_linux系统中ps指令使用详解

    在linux系统作为和unix和ubuntu相同的系统,ps指令经常被用到查看程序进程的状态,但是这个指令具体怎么用您会吗?本文就以centos为例,结合项目中服务器的实际应用,给大家讲解下ps指令的 ...

  10. linux脚本添加source,shell中的source命令的巧妙用法

    首先,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录.例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如sourc ...

最新文章

  1. 跨年之际,中文版畅销书《TensorFlow深度学习实战大全》分享,直接送!
  2. cannot import name ‘softmax‘ from ‘scipy.special‘
  3. hdu1358 最小循环节,最大循环次数 KMP
  4. 【MFC】在工具栏中添加编辑框
  5. 面试官问我:什么是JavaScript闭包,我该如何回答
  6. 通配符的匹配很全面, 但无法找到元素 'tx:annotation-driven' 的声明
  7. Codevs 1506 传话
  8. hdu Robberies 2955 01背包
  9. 【AtCoder ABC 075 C】Bridge
  10. 计算机组成原理完整学习笔记(一):计算机系统概论
  11. HTML5视频方案:支持iPad Safari、Firefox、Chrome、IE9876
  12. Gym 101572 K.Kayaking Trip【二分+贪心】
  13. 电器系统 java_java毕业设计_springboot框架的苏宁易购电器进销存管理系统
  14. Android 架构设计与挑选
  15. 月薪过万的程序员都培训的什么编程语言?
  16. 咖啡烘焙饕餮盛宴——洛阳新都汇有你想要的感觉
  17. Android BLE 蓝牙开发指南(三)外围设备端开发详解
  18. IntelliJ IDEA 设置鼠标悬停提示相关信息及F2重命名设置
  19. 2020计算机保研经验贴:清华,复旦,上交,北航
  20. python爬虫百度贴吧代码大全_获取贴吧图片的python爬虫

热门文章

  1. 为何师兄研二就能发表COLING国际会议长文?
  2. numpy—np.info(function)
  3. 使用Spring Session实现Spring Boot水平扩展
  4. 从你王者荣耀爱玩的英雄类型,我就知道你关注哪些技术领域!
  5. 3.5 RNN 层使用方法
  6. 线程与进程的区别及其通信方式
  7. 软件测试常见断言,5.6 postman 常用的断言
  8. java restful返回json_java 调用接口的时候报的错 用的是restful的post方式,请求返回的是json...
  9. endnote 参考文献加序号_EndNote同一文章的插入不同编号参考文献的方法 | 科研动力...
  10. 安师大计算机专业分数线,安徽师范大学