进程
1)在LINUX中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一
个ID号。
(2) 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。
(3) 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目
前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法
看到的进程,通常使用后台方式执行。
(4) 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到
关机才才结束。
ps指令
ps(process state)命令用于列出当前的进程。可以显示详细的进程信息,包括:
- 用户识别符(UID),它确定进程的特权
- 唯一进程识别符(PID)
- CPU和已经花费的实时时间
- 进程在各种位置上分配的内存数量
- 进程的位置STDOUT,称为控制终端
- 当前的进程状态
ps支持三种选项格式:
- UNIX(POSIX)选项,可以分组但必须以连字符开头
- BSD 选项,可以分组但不可与连字符同用
- GNU 长选项,以双连字符开头
常用选项:
a :显示所有与终端有关的进程
u :显示进程是由哪个用户启动的
x :显示所有与终端无关的进程
e :显示所有进程,与-A效果相同
l :以长格式显示
F :显示更详细的完整格式的进程信息
pstree 指令
查看进程树
pstree [选项] ,可以更加直观的来看进程信息
常用选项:
-p :显示进程的PID
-u :显示进程的所属用户
杀死进程 kill pkill
kill [-信号] PID 杀死一个进程, [ 9 ,代表杀死进程]
pkill -t -9 用户进程id 这个命令可以踢出用户。
top*
动态实时的查看 服务器压力,进程使用情况*
jobs 查看
Ctrl+z 挂起
bg1 将后台挂起的进程,在前台运行。在用中断、挂起命令就不 好用了
fg1 用这个中断和挂起都行
计划任务“at”和“crontab”
一次性定时任务“at”
启动服务
一次性定时任务需要“atd”这个东西支持才行。所以要启动它,命令如下
service atd start 或 /etc/init.d/atd start
注意:如果找不到这个服务,那就用"yum install at"进行安装一下
安全性:
我们可以利用 /etc/at.allow 和 /etc/at.deny 这两个文件来控制 at 的使用权限!
意思很简单/etc/at.allow 是允许谁可以用at命令,/etc/at.deny是不允许谁使用at命令!
crontab
简介
crontab 命令从输入设备读取指令,并将其存放于 crontab 文件中,以供之后读取和执行。通常,crontab 储存的指令被守护进程激活,crond 为其守护进程,crond 常常在后台运行,每一分钟会检查一次是否有预定的作业需要执行。
通过 crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script 脚本。时间间隔的单位可以是分钟、小时、日、月、周的任意组合。
在以上各个字段中,还可以使用以下特殊字符:
星号():代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如/10,如果用在minute字段,表示每十分钟执行一次。
systemctl start crond service //启动服务
systemctl stop crond service //关闭服务
systemctl restartcrond service//重启服务
systemctl reload crond service //重新载入配置
systemctl status crond service //查看服务状态
crontab -r 清空
crontab -l查看
crontab -e 添加计划任务