程序是一串没有运行的代码进程是一个运行中代码
线程(英语: thread)就是程序的副本,就是把进程复制了一份,只复制了进程的部分代码。真正执行的是线程而不是进程。相当于是进程的打工仔
父进程先启动--->子进程,分配资源:父进程给子进程分配资源,结束运行:
子进程先结束-->父进程收回子进程的资源之后,父进程才会终止.
ps命令查看静态的进程统计信息方法一:
ps aux
a:显示终端上的所有进程,包括其它用户的进程。
u:表示列出进程的用户。
x:显示所有终端的进程。
各列的解释:
USER:进程的用户。
PID:进程的ID。
%CPU:进程占用的CPU百分比。
%MEM:占用内存的百分比。
VSZ:该进程使用的虚拟内存量(KB) 。
虚拟内存简单来说就是把外存当作内存来使用,便于缓解物理内存压力的不足。RSS:该进程占用的物理内存量(KB) 。
TTY:启动进程的终端名。不是从终端启动的进程则显示为?
STAT:该进程的状态(D:不可中断的休眠状态;R:正在运行状态;S:处于休眠状态,可被唤醒;T:停止状态,可能是在后台暂停或进程处于跟踪调试状态;z:僵尸进程,进程已经中止,但是部分程序还在内存当中)
START:该进程被触发启动时间。
TIME:该进程实际使用CPU运行的时间。
COMMAND:进程的启动命令。
方法二:
a:表示列出进程的用户。
x:显示所有终端的进程。
ps -elf
-e:显示系统内的所有进程信息。
-l:使用长格式显示进程信息。
-f:使用完整的格式显示进程信息。
-a:显示所有进程pid。
-T:查看线程信息。
ps -elf
各列的解释:
F:内核分配给进程的系统标记。
S:进程的状态。
UID:启动这些进程的用户。
PID:进程的进程ID。
COMMAND命令名/命令行
top常用命令:
c健:根据CPU使用百分比大小进行排序
q键:退出top 程序
数字1 健:显示cpu个数和状态
tty终端
Centos7系统,tty1表示图形界面,tty2-tty6表示文字界面
pts说明是用远程工具连接的,比如xshell,后面的数字代表登录的时间顺序,越小证明登录的越早我们经常会用到kill命令去杀死一个进程,但是有时会出现kill不成功的现象,这是就要用到kill -9。之所以这两个命令会有区别是因为所发送的信号(Signal)是不同的。默认情况下kill命令的参数为-15。kill -15代表的信号为SIGTERM,这是告诉进程你需要被关闭,请自行停止运行并退出;
而kill -9代表的信号是SIGKILL,表示进程被终止,需要立即退出;
因此kill -9表示强制杀死该进程,这个信号不能被捕获也不能被忽略。
进程的前后台调度
vim 111
ctrl+Z
vim 222
ctrl+z
jobs -l
pgrep -l "vim"
killall -9 vim
crontab任务配置......
代表意义 分钟 小时 日期 月份 周 命令......
数字范围 0~59 0~23 1~31 1~12 0~7 需要执行的命令#周的数字为0或7时,都代表"星期天"的意思。
crontab -e [-u root]
1.每分钟定时执行一次规则:
每1分钟执行:*/1 * * * *或者* * * * *
每5分钟执行:*/5 * * * *
2.每小时定时执行一次规则:
每小时执行: o * * * *或者0 */1 * * *
每天上午7点执行:0 7 * * *
每天上午7点10分执行:10 7 * * *
3.每天定时执行一次规则:
每天执行0 0 * * * --每天的24点执行
4.每周定时执行一次规则:
每周执行0 0 * * 1--每周的第一天,24点,执行
5.每月定时执行一次规则:---每个月的第一天,24点执行
每月执行0 0 1 * *
6.每年定时执行一次规则---第一个月的第一天,24点执行
每年执行0 0 1 1 *
7.其他例子
5 * * * * ls 指定每小时的第5分钟执行一次ls命令