linux 脚本 ps grep,linux中PS命令和grep命令以及信号处理函数
名称: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命令以及信号处理函数相关推荐
- linux脚本case语句,shell中的case语句,数组及函数
case示例 ---------------------------------------------------------------------- .. echo "case&quo ...
- linux 脚本编写基本命令,Linux Shell命令行及脚本编程实例详解
<Linux典藏大系:Linux Shell命令行及脚本编程实例详解>共15章,分为两篇.主要内容包括:Linux 及Linux Shell简介.初识Linux Shell.常用Shell ...
- linux脚本重启进程,linux下通过脚本实现自动重启程序
假定需要实现重启的程序名为 test ,我们这里通过判断进程数目来判断程序是否正常. ps -ef | grep "$1" | grep -v "grep" | ...
- linux脚本编写思想,Linux脚本编写入门基础(三)
1.1.2 注释在进行shell编程时,以#开头的句子表示注释,直到这一行的结束.我们真诚地建议您在程序中使用注释.如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚 ...
- linux脚本定时任务,使用Linux脚本执行定时任务
#!/bin/sh # #cli根目录 #以#开头的行是注释,但注意,第一行#!不是注释,是指定脚本的解释文件 clidir=/home/dev/web #定义了一个名为clidir变量,注意=两端不 ...
- linux脚本日期时间,Linux 日期和时间操作详解
Linux 日期和时间操作详解 发布时间:2012-11-27 15:10:07 作者:佚名 我要评论 Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Cl ...
- html中的ps,网页制作中PS图像处理的应用
网页制作中PS图像处理的应用 photoshop是一个功能强大的图像处理软件,可以对各种格式的图像文件进行非常精细与独特的处理,不仅适用于广告用图.美术摄影作品的处理,也广泛用于网页图像元素的处理.下 ...
- linux脚本登陆ftp,linux shell 下自动登录ftp服务器并自动上传下载文件
1.自动下载 #!/bin/sh ftp -n 192.168.0.231 << EOF #-n表示-n意思是不读取默认.netrc文件中的设定,< user whl whl #用户 ...
- linux ps mysql_linux系统中ps指令使用详解
在linux系统作为和unix和ubuntu相同的系统,ps指令经常被用到查看程序进程的状态,但是这个指令具体怎么用您会吗?本文就以centos为例,结合项目中服务器的实际应用,给大家讲解下ps指令的 ...
- linux脚本添加source,shell中的source命令的巧妙用法
首先,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录.例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如sourc ...
最新文章
- 跨年之际,中文版畅销书《TensorFlow深度学习实战大全》分享,直接送!
- cannot import name ‘softmax‘ from ‘scipy.special‘
- hdu1358 最小循环节,最大循环次数 KMP
- 【MFC】在工具栏中添加编辑框
- 面试官问我:什么是JavaScript闭包,我该如何回答
- 通配符的匹配很全面, 但无法找到元素 'tx:annotation-driven' 的声明
- Codevs 1506 传话
- hdu Robberies 2955 01背包
- 【AtCoder ABC 075 C】Bridge
- 计算机组成原理完整学习笔记(一):计算机系统概论
- HTML5视频方案:支持iPad Safari、Firefox、Chrome、IE9876
- Gym 101572 K.Kayaking Trip【二分+贪心】
- 电器系统 java_java毕业设计_springboot框架的苏宁易购电器进销存管理系统
- Android 架构设计与挑选
- 月薪过万的程序员都培训的什么编程语言?
- 咖啡烘焙饕餮盛宴——洛阳新都汇有你想要的感觉
- Android BLE 蓝牙开发指南(三)外围设备端开发详解
- IntelliJ IDEA 设置鼠标悬停提示相关信息及F2重命名设置
- 2020计算机保研经验贴:清华,复旦,上交,北航
- python爬虫百度贴吧代码大全_获取贴吧图片的python爬虫
热门文章
- 为何师兄研二就能发表COLING国际会议长文?
- numpy—np.info(function)
- 使用Spring Session实现Spring Boot水平扩展
- 从你王者荣耀爱玩的英雄类型,我就知道你关注哪些技术领域!
- 3.5 RNN 层使用方法
- 线程与进程的区别及其通信方式
- 软件测试常见断言,5.6 postman 常用的断言
- java restful返回json_java 调用接口的时候报的错 用的是restful的post方式,请求返回的是json...
- endnote 参考文献加序号_EndNote同一文章的插入不同编号参考文献的方法 | 科研动力...
- 安师大计算机专业分数线,安徽师范大学