进程管理

一,初识进程

进程是已启动的可执行程序的运行实例。进程有以下组成部分。

1,已分配内存的地址空间。

2,安全属性,包括所有权凭据和特权。

3,程序代码的一个或多个执行线程。

4,进程状态。

每个进程都有唯一的进程标识PID,一个PID只能标识一个进程,PPID为父进程ID,需要给该进程分配系统资源。

进程状态是指程序执行过程中的变化。一般分为三类:就绪态,运行态,阻塞态。

二,查看进程

2.1 静态查看进程

ps命令可以查看静态进程,仅仅是捕捉某一个瞬间某一个进程的状态,类似于给进程制造快照。

使用“ps aux”命令查看当前目录的进程,具体如下。

......

基本权限的意义:

用户在查看cpu占用率时,一般会希望进程按照cpu占用百分比的降序排列,此时可使用“ps aux --sort -%cpu”命令,具体如下。

“ps -ef”命令可以查看UID,PID,PPID等信息,具体如下。

“ps axo”命令可以自定义显示的字段,具体如下。

最后,介绍几种常用的查看指定进程PID的方法,具体如下。

(1) cat命令,例如。

cat /run/sshd.pid

(2) pidof命令,例如。

pidof sshd

(3) pgrep命令,例如。

pgrep sshd

2.2 动态查看进程

top命令可以实时动态地显示进程,使用该命令查看进程时,进程信息分为上下两部分,上面为整体信息,下面为每一个进程的信息。

三,信号控制进程

3.1 kill命令

Linux中的kill命令用来终止指定进程的运行。使用“kill -l”命令查看全部信号,具体如下。

3.2 killall命令

killall命令可以用来终止某个指定名称的服务所对应的全部进程。

四,进程优先级

进程优先级是一个数值,动态的优先级和静态的优先级决定了进程被cpu处理的顺序。一个拥有更高进程优先级的进程被cpu处理的概率更高。

4.1 使用top命令查看nice级别

 使用top命令可以查看nice级别,其中,NI列表示实际nice级别,PR列将nice级别映射到更大优先级别序列,-20映射到0,+19映射到39,具体如下。

4.2 使用ps命令查看nice级别

使用ps命令查看nice级别,具体如下。

五,作业控制

    作业控制是一个命令行功能,允许一个Shell实例运行和管理多个命令。如果没有作业控制,父进程fork()一个子进程后将休眠,直到子进程退出。使用作业控制可以选择性暂停、恢复以及异步运行命令,让Shell可以在子进程运行期间返回接受其他命令。
    foreground:前台进程是在终端中运行的命令,该终端为进程的控制终端。前台进程接收键盘产生的输入和信号,并允许从终端读取或写入到终端。

例如,创建一个sleep进程,在前台运行时可以按ctrl+c组合键停止,具体如下。

 background:后台进程没有控制终端,不需要终端的交互。

例如,在后台创建sleep进程,使用ctrl+c组合键并不能结束该进程,其中“&”符号为后台符,具体如下。

六,总结

本次文章讲解了进程的概念,进程的状态,以及如何使用ps与top命令查看进程。

 

posted @ 2023-11-22 10:54  梦菲如雪  阅读(22)  评论(0)    收藏  举报