Linux真小白入门教程第七集——Bash Shell命令学习(4)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/misayaaaaa/article/details/84523551

之前讲了Linux对文件和目录的管理和相关操作,下面主要讲一些Linux系统管理的一些命令,来探查Linux系统的内部信息。

Linux系统管理员面临的最复杂的任务之一就是跟踪运行在系统中的程序。图形化界面总是显示不出所有正在执行的程序,好在还有一些命令可以进行管理。

ps命令可以检测进程的运行它能输出运行在系统上的所有程序的许多信息。然而该命令还有很多的选项参数,所以ps命令可以被称为复杂的命令之一。(学习一些必要的参数组合是非常必要的)

默认情况下,ps命令只会显示运行在当前控制台下属于当前用户的进程(只有ps命令本身)

输出中包含进程的ID(PID),以及它们运行在哪个终端(TTY),以及进程已用的CPU时间。

Linux系统中实用的GNU ps命令支持三种不同类型的命令行参数

Unix风格参数 加单破折线-

BSD风格参数 不加破折线

GNU风格参数 加双破折线

在实际使用中,并不是需要记住所有的参数选项,而是要记住一些非常有用、经常使用到的参数组合

-ef 查看系统上运行的所有进程

-e 显示所有进程 -f扩展输出(格式上完整)

想要更多的信息,则可以加 -l 参数

其实记住一个Unix风格即可,其他的风格最为了解,以后见到不是特别惊讶就好了

GNU是长参数类型

虽然ps命令可以手机到运行在系统上的进程信息,但是ps命令只能显示在某个特定时间点的信息。使用top命令也是现实进程信息,但是是实时显示的。

第一行显示了当前时间、系统运行时间、登录用户、系统的平均负载

(负载值超过2,就说明系统较为繁忙了)

第二行显示进程的概要信息,在top中进程被称为task

第三行显示CPU的概要信息

最后两行说明了系统内存的状态

默认情况下,top命令在启动时会按照%CPU值对进程进行排序,可以在top运行的时候,在进行重新排序

按q键退出top命令(可以用来找出占用系统资源的罪魁祸首!)

在Linux中,进程间可以通过信号来通信进程的信号就是预定义好的一个消息进程可以识别它决定忽略或者做出反应,进程如何处理信号由开发人员通过编程来实现。

标准的Unix进程信号:

Linux上有两个命令可以向运行中的进程发出信号:

kill命令可以通过进程ID(PID)给进程发信号。默认情况下,kill命令会向命令行中列出的全部PID发送一个TERM信号。

kill 3940

给进程3940发出TERM信号(此时你必须是进程的属主或者登陆为root用户,否则会被拒绝

TERM告诉进程可能的话就停止运行,不过,也有不服管教的进程,就会忽略这个信号,如果要强行中止,-s 参数可以让你如愿以偿。(支持信号名或者信号值)

kill -s 15 3940

kill -s HUP 3940

killall 命令非常强大,它支持通过进程名而不是PID来结束进程,而且killall命令还支持通配符

killall http*

结束所有以http开头的进程

(在root用户下 ,要谨慎使用,防止杀掉必要的系统进程,可能会破坏文件系统)

猜你喜欢

转载自blog.csdn.net/misayaaaaa/article/details/84523551
今日推荐