进程管理相关命令

  • Post author:
  • Post category:其他



1


、将前台进程放入后台,并进行查看




将命令放入Bash后台运行而不影响终端窗口





在命令结尾输入“&”符号即可,通过“&”放入后台的进程仍然处于运行状态




进程在前台运行时按【Ctrl+Z】组合键,进程会被放入后台并被处于暂停状态


查看后台进程-jobs 命令


-l


列出进程的 PID 号


2、启动一个后台进程,并进行查看




bg 命令


:


使后台暂停的进程重新开始运行


bg %工作号





%可以省略)


3、继续执行后台进行


fg 命令





把后台的进程恢复到前台继续运行


fg %工作号





%可以省略)


4、在2022年5月


2


5





1


:30 执行 :写入“process


test”到 process


_test


.txt文件




at 命令





设置在指定的时间执行某个一次性任务


at [选项] [时间]


时间参数是计划任务的执行时间,可以采用下列时间格式的任何一种




HH:MM [ am|pm] [Month] [Date] [Year],如11:10 am Jan 18 2022


HH:MM YYYY-MM-DD,如11:10 2022-01-18


MMDDYY、MM/DD/YY,表示指定日期的当前时刻,如011822、01/18/22


特定时间:如now表示当前时刻,noon代表12:00 pm,midnight代表12:00 am,Teatime代表4:00 pm


time + n [minutes | hours | days | weeks],表示在某个时间点之后某一时刻执行,如now + 3 hours表示当前时刻的3小时后


5、在每周








下午6





0分


执行 :写入“process


test”到 process


_test


.txt文件




crontab 命令





设置需要周期执行的任务


当我们执行“crontab -e”命令时,打开的是一个空文件,操作方法和 Vim 一致。文件格式


为:* * * * * 执行的任务


第一个”*”


一小时当中的第几分钟(minute)


0~59


第二个”*”


一天当中的第几小时(hour)


0~23


第三个”*”


一个月当中的第几天(day)


1~31


第四个”*”


一年当中的第几个月(month)


1~12


第五个”*”


一周当中的星期几(week)


0~7(0和7都代表星期日)


crontab  -l查看当前crontab周期任务


6、结合grep,使用ps,lsof查看上一个定期任务




ps 命令





查看系统中当前有哪些进程,选项非常多


。只能显示系统进程的静态信息。


“ps aux” 可以查看系统中所有的进程;


“ps -le” 可以查看系统中所有的进程,而且还能看到进程的父进程的 PID 和进程优先级;


“ps -l” 只能看到当前 Shell 产生的进程。


lsof命令:列举系统中已经被打开的文件。通过 lsof 命令,我们就可以根据文件找到对应的进程信息,也可以根据进程信息找到进程打开的文件。


-c 字符串:只列出以字符串开头的进程打开的文件


+d 目录名:列出某个目录中所有被进程调用的文件


-u 用户名:只列出某个用户的进程打开的文件


-p pid:列出某个 PID 进程打开的文件


7、修改上一个定期任务的优先级,再结束进程




nice 命令





设置进程的优先级(不能修改已运行进程的 NI 值)


每个进程都有优先级,优先级越高,表示进程越有可能获得CPU的使用权





进程的优先级用nice值表示,取值范围是-20~19,默认值为0,数字越大表示优先级越低




renice 命令:调整运行中进程的优先级。


普通用户只能调整自己创建的进程的优先级,而且只能把nice调整为更大的值。root用户可以调整所有人的进程优先级,而且可以调整为更小的值。


8、练习top,pstree等命令




top 命令:查看进程信息的动态变化,默认每隔3秒刷新一次


-d secs:指定top命令每次刷新的间隔,单位为秒


-n max:指定top命令结束前刷新的最大次数


-u user:只监视指定用户的进程信息


-p pid:只监视指定进程ID的进程,最多可指定20个进程ID


-o fld:按指定的字段进行排序




pstree 命令:查看进程间的相关性和依赖关系


-a:显示启动每个进程对应的完整指令,包括启动进程的路径、参数等。


-c:不使用精简法显示进程信息,即显示的进程中包含子进程和父进程。


-n:根据进程 PID 号来排序输出,默认是以程序名排序输出的。


-p:显示进程的 PID。


-u:显示进程对应的用户名称。


9、开启yum命令的特殊权限



思考与讨论:


1、top和ps的区别。


答:ps



命令只看到的是命令执行瞬间的进程信息,而



top



可以持续的监视







ps



只是查看进程,而



top



还可以监视系统性能,如平均负载,



cpu








内存




的消耗。另外



top



还可以操作进程,如改变




优先级




(命令



r



)和关闭进程(命令



k



)







ps



主要是查看进程的,关注点在于查看需要查看的进程。而



top



主要看



cpu



,内存使用情况,及占用资源最多的进程由高到低排序,关注点在于资源占用情况







2、nice



renice

的区别。

答:

nice 命令





设置进程的优先级(不能修改已运行进程的 NI 值)


,renice 命令:调整运行中进程的优先级。

拓展试验:


特殊权限有三位:用户置位s(SUID)、组置位s(GUID)和粘着置位t(Sticky)




Set UID(简称为SUID):在所有者的执行权限位置上出现了之前从未讲过的s标志




只能对二进制程序文件设置SUID权限,对Shell脚本文件和目录不起作用





执行设置了SUID权限的程序文件时,进程的所有者变为原程序文件的所有者,而不是执行程序的用户,也可以理解为执行者继承了文件所有者的权限





前提是用户对该程序文件具有执行权限






Set GID(简称为SGID):出现在文件属组的执行权限位置上的s标志




可以对二进制程序文件和目录设置SGID权限。对二进制程序文件设置SGID权限时,进程将拥有文件属组的权限,即继承了文件属组的权限。SGID权限对二进制程序文件生效的前提是执行者对该文件具有执行权限。对目录设置SGID权限时,用户进入该目录后有效用户组变为该目录的属组。SGID权限对目录生效的前提是用户对该目录具有执行和写权限。用户在具有SGID权限的目录中新建的目录会自动继承SGID权限。




Sticky Bit(简称为SBIT或粘滞位):出现在目录的其他人的执行权限位置上的t标志。


只能对目录设置SBIT权限。用户在目录中新建的文件和目录,只有该用户本身和root用户能够删除。SBIT权限生效的前提是用户对目录具有执行和写权限。





版权声明:本文为w_luckyhard原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。