Linux进程管理及作业控制启动进程
发布网友
发布时间:2024-07-02 11:28
我来回答
共1个回答
热心网友
时间:2024-08-20 19:18
Linux中的进程管理涉及两种启动方式:手工启动和调度启动。手工启动包括前台和后台,前台适合快速任务,后台则用于不阻塞用户界面的长时间任务,如`troff –me notes > note_form &`后,进程ID(PID)会显示。
进程间通过父子和兄弟关系相连,shell作为父进程,它的子进程在其控制下执行。利用管道符可以同时启动多个兄弟进程,如`command1 | command2 &`。
调度启动主要针对自动执行的任务,如系统维护。通过at命令,用户可以在特定时间执行任务,at支持复杂的时间设定,如绝对计时(如"凌晨3:20")和相对计时(如"now + 1 hour")。系统管理员可以利用at等工具安排定时任务,如at命令的执行格式为`at 时间 -f /path/to/command`,并可设置邮件通知等参数。
权限管理方面,超级用户可以全局使用at命令,普通用户受限于/etc/at.allow和/etc/at.deny文件。at命令参数如`-V`查看版本,`-q`选择队列,`-m`邮件通知等。例如,要在12月25日2:00打印txt文件并邮件通知foxy,可以写为`at -f /tmp/printjob 2:00 12/25 99`。
另外,batch命令在系统空闲时执行,无需指定精确时间,如`batch find / -name *.txt|lpr`。cron用于定期任务,系统启动时会自动检查用户的crontab文件(如/var/spool/cron/用户名)执行命令,邮件通知用户。创建crontab文件时,如`crontab test.cron`,内容由时间域和命令域构成,例如,`0 4-6 * * 1,3,5 reboot`会在每周一、三、五下午3点重启系统。
crontab权限同样受限,用户需根据/etc/cron.allow和cron.deny管理。crontab命令如`crontab -u user -l`查看,`crontab -e`编辑,`crontab -r`删除。例7展示查看当前crontab,而例8-14则演示不同时间点执行特定任务的实例。
最后,对于挂起和恢复进程,可以使用`bg`和`fg`命令,如``挂起后,`jobs`查看,`fg 1`恢复作业1。了解这些命令有助于提升Linux进程管理的效率。