5,进程管理
linux是一个多用户,多任务的操作系统,每一个执行的任务都称为进程。每一个进程系统都会分配一个唯一的标识PID。系统可以通过PID对进程进行操作。如:结束进程,开始进程,挂起进程,唤醒进程。
进程的操作:
- 查看进程
ps [options]
常用option:
-e:显示所有进程
-f:全格式输出
-h:不显示标题
-l:长格式显示
UID:执行进程的用户
PID:进程号
PPID:父进程进程号
C:CPU调度情况
STIME:进程启动时间
TTY:终端号
TIME:进程使用CPU的时间
CMD:启动进程使用的命令
常用命令:ps -ef ;ps -aux
ps -aux:查看进程占用系统资源情况
%MEN:内存使用
VSZ:占用虚拟内存的大小
RSS:占用物理内存的大小
STAT:进程状态 R 运行、S 睡眠、T 停止状态、s 包含子进程、+ 位于后台。
2.启动进程
进程启动的方式有两种:手动启动和调度启动(定时任务。启动程序时分为前台 启动和 后台启动。
前台启动:例如我们执行一个ls 命令。
后台启动:后台启动一个 程序,只需要将他的命令后面加上 "&",例如 :ls -al &
其中的3805是进程的PID。
当用户退出操作系统时,用户的所有进程都将会结束,如果是临时退出,但是不想结束该用户正在进行的某个进程,可以使用nohup解决:例如
nohup ls -al &
使用nohup 执行后台命令,默认会把程序的输出信息 重定向到当前目录 下的nohup.out
当用户退出时,会一直执行程序, 直到程序执行完。
3,结束进程
如果要 终止一个前台运行的程序,直接ctrl+c, 如果是后台运行的程序,使用kill命令来解决。
kill [-s signal | -p] [-a] PID
常用 signal:
SIGHUB(1):立即关闭进程,然后读取配置文件重新启动。 (阻塞)
SIGINT(2): 程序信号终止,用于前台进程,相当于ctrl+c。
SIGKILL(9):强制关闭进程
SIGTERM(15):关闭进程,当进程还在调用系统资源时,等待进程使用完之后关闭
SIGSTOP(19):暂停进程,相当于Ctrl+z
在使用时都是使用其信号代号。如:kill -9 3805
更改进程的优先级
在linux当中,每一个进程在执行的时候都会赋予一个优先级,优先级越高,进程获得CPU的时间越长,进程有限级的范围为-20-19,-20表示系统的有限级最高,优先级只有root用户可以进行设置,进程默认的优先级是0,可以通过nice和renice命令进行修改。
4.进程的有限级更改:
命令:nice [options] command
例如:nice -19 vim test.sh :修改优先级为19
nice --19 vim test.sh :修改有限级为-19