nice 命令可以给要启动的进程赋予 NI 值,但是不能修改已运行进程的 NI 值。 nice -n -5 service httpd start ps -le |grep"httpd"| grep -v grep renice 命令可以在进程运行时修改其 NI 值,从而调整优先级。 renice [优先级] PID renice -10 2125 目前一般用不到设置进程的优先级,因为目前cpu运行很快,对程序运行影响较小。
通常关闭软件是通过关闭软件程序来实现,我们也可以通过进程的方式来关闭软件。
Linux系统中可识别的信号较多,常用的有:
1 | SIGHUP | 该信号让进程立即关闭.然后重新读取配置文件之后重启 |
2 | SIGINT | 程序中止信号,用于中止前台进程。相当于输出 Ctrl+C 快捷键 |
8 | SIGFPE | 在发生致命的算术运算错误时发出。不仅包括浮点运算错误,还包括溢出及除数为 0 等其他所有的算术运算错误 |
9 | SIGKILL | 用来立即结束程序的运行。本信号不能被阻塞、处理和忽略。般用于强制中止进程 |
14 | SIGALRM | 时钟定时信号,计算的是实际的时间或时钟时间。alarm 函数使用该信号 |
15 | SIGTERM | 正常结束进程的信号,kill 命令的默认信号。如果进程已经发生了问题,那么这 个信号是无法正常中止进程的,这时我们才会尝试 SIGKILL 信号,也就是信号 9 |
18 | SIGCONT | 该信号可以让暂停的进程恢复执行。本信号不能被阻断 |
19 | SIGSTOP | 该信号可以暂停前台进程,相当于输入 Ctrl+Z 快捷键。本信号不能被阻断 |
kill 命令只是用来向进程发送一个信号,进程接受信号后才会进行相关操作,若是忽略信号,则不能对进程进行操作。(说明kill命令不能直接杀死进程)
kill [信号] PID 0 EXIT 程序退出时收到该信息。 1 HUP 挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。 2 INT 表示结束进程,但并不是强制性的,常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号。 3 QUIT 退出。 9 KILL 杀死进程,即强制结束进程。 11 SEGV 段错误。 15 TERM 正常结束进程,是 kill 命令的默认信号。 -1 重启进程 例子 使用 ps 或 top查询进程 kill -1 1234 kill 0 1111
killall [选项] [信号] 进程名 -i:交互式,询问是否要杀死某个进程; -I:忽略进程名的大小写
pkill命令:终止进程
pkill [信号] 进程名 0 EXIT 程序退出时收到该信息。 1 HUP 挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。 2 INT 表示结束进程,但并不是强制性的,常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号。 3 QUIT 退出。 9 KILL 杀死进程,即强制结束进程。 11 SEGV 段错误。 15 TERM 正常结束进程,是 kill 命令的默认信号。
工作管理指的是单个登录终端同时管理多个工作的行为,其实就是在一个终端执行多个不同的操作。
例如:我在当前终端正在 vi 一个文件,在不停止 vi 的情况下,如果我想在同一个终端执行其他的命令,就应该把 vi 命令放入后台,然后再执行其他命令。把命令放入后台,然后把命令恢复到前台,或者让命令恢复到后台执行,这些管理操作就是工作管理。
一种是在命令后面加入空格& 另一种是命令执行过程中按ctrl+z快捷键
jobs[选项] -l(L 的小写)列出进程的 PID 号。 -n 只列出上次发出通知后改变了状态的进程。 -p 只列出进程的 PID 号。 -r 只列出运行中的进程。 -s 只列出已停止的进程
fg %工作号 fg将带有+的后台恢复到前台 fg % 1 fg % 2
bg % 工作号 bg 1 bg 2 可以将ctrl+z暂停在后台的程序恢复到前台进行工作
nohup [命令] & 这里的‘&’表示此命令会在终端后台工作;反之,如果没有‘&’,则表示此命令会在终端前台工作。
at 命令的访问控制是依靠 /etc/at.allow(白名单)和 /etc/at.deny(黑名单)这两个文件来实现的,具体规则如下:
/etc/at.allow文件的优先级高于 /etc/at.deny
at [选项] [时间] -m 当 at 工作完成后,无论命令是否输出,都用 E-mail 通知执行 at 命令的用户。 -c 工作标识号 显示该 at 工作的实际内容。 -t 时间 在指定时间提交工作并执行,时间格式为 [[CC]YY]MMDDhhmm。 -d 删除某个工作,需要提供相应的工作标识号(ID),同 atrm 命令的作用相同。 -l 列出当前所有等待运行的工作,和 atq 命令具有相同的额作用。 -f 脚本文件 指定所要提交的脚本文件。 使用Ctrl+D快捷键保存at任务 HH:MM 比如 04:00 AM。如果时间已过,则它会在第二天的同一时间执行。 Midnight(midnight) 代表 12:00 AM(也就是 00:00)。 Noon(noon) 代表 12:00 PM(相当于 12:00)。 Teatime(teatime) 代表 4:00 PM(相当于 16:00)。 英文月名 日期 年份 比如 January 15 2018 表示 2018 年 1 月 15 号,年份可有可无。 MMDDYY、MM/DD/YY、MM.DD.YY 比如 011518 表示 2018 年 1 月 15 号。 now+时间 以 minutes、hours、days 或 weeks 为单位,例如 now+5 days 表示命令在 5 天之后的此时此刻执行。
两分钟后执行成功了!
crontab [选项] [file] -u user 用来设定某个用户的 crontab 服务,例如 "-u demo" 表示设备 demo 用户的 crontab 服务,此选项一般有 root 用户来运行。 -e 编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。 -l 显示某用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容。 -r 从 /var/spool/cron 删除某用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。 -i 在删除用户的 crontab 文件时,给确认提示。 crontab -e 会打开类似vim文本编辑器,语法格式自行百度即可
每个五分钟向/root/qcj/test文件中写入11