什么是进程?Linux的进程有什么性质?
1.在Linux系统中,每一个程序,都有自己的一个进程。并拥有一个唯一的进程id(在运行的程序就是进程)
2.每一个进程都有一个父进程(被父进程创建)
3.进程有两种存在的状态:前台运行和后台运行
4.一般情况,服务运行都是在后台,基本的程序都是在前台运行的
Linux对比Windows
Linux和windows管理进程的方式不一样。
windows有图形化窗口
Linux通过命令去操作
下面介绍Linux系统进程管理常用的操作命令
1.查看进程
命令:ps(由英文Process Status简化得来)
ps 命令用来列出系统中 当前正在运行 的那些进程,显示的是执行 ps 命令的那个时刻的那些进程的状态。通过该命令可以知道有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死(陷入死循环)、哪些进程占用了过多的资源等等信息。
ps 查看的结果不是动态实时的,如果想要动态的显示进程信息,可以使用 top、htop 命令。
语法:
ps [-options]
常用参数:
- -a 显示当前系统终端运行的所有的进程信息
- -u 以用户的信息显示进程
- -x 显示后台运行进程的参数
输入ps -aux 命令后,发现信息量太大了
其实我们可以通过命令,进行过滤。从而得到我们想看到的进程信息
举个例子,例如我们只想看到关于mysql的进程。
通过以下命令:
ps -aux | grep mysql
如果想查看父进程的信息,可以使用ps -ef | grep mysql( 该命令可读性较差,不推荐)
使用pstree -pu | grep mysql,树状图显示,一目了然
解析:
-
| :该符号为管道符。什么是管道符?
使用格式为:A|B 。当命令A执行成功输出结果时,然后命令B对命令A输出的结果进行处理。
举个例子:
使用该命令
ls -al etc | head -n 5
它的执行顺序是先执行 ls -al etc,得到结果
再对这以上的结果使用 head -n 5
从而得到
2. grep:什么是grep?
grep是一个命令。grep (global search regular expression(RE) and print out the line,翻译为中文就是:全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。(注意,它对路径使用无效)
语法
grep [options] pattern(查找内容) file(目标文件名)
grep的常用选项:
-V: 打印grep的版本号
-E: 解释PATTERN作为扩展正则表达式,也就相当于使用egrep。 或操作
-F : 解释PATTERN作为固定字符串的列表,由换行符分隔,其中任何一个都要匹配。也就相当于使用fgrep。
-G: 将范本样式视为普通的表示法来使用。这是默认值。加不加都是使用grep。
测试: 查找文件t2是否有cxk的内容
2.结束线程
使用kill命令(慎用,该命令直接关闭进程。会导致数据丢失)
语法:
kill -9 processID(进程id)
该命令等阶于与windows结束任务
表示强制结束该进程