进程和计划任务

简介:

当今的电脑使用的cpu一般是多核的,并且多个进程同时运行,一个cpu同时只能运行一个指令,怎么实现多个进程同时运行这就是一门艺术了。实现多种多样的功能需要把进程分类,指定进程的权限,指定一个进程的管控其它进程,以保证其它进程权限的正确运用。

一 进程类型

  进程是运行中程序,进程运行时需要先先把程序加载到内存里,然后cpu加载进程中的指令处理数据。进程处理完数据后就会停止,并把数据交付其它进程,交付数据的可能并不是由自己完成。以下以单核cpu为例介绍,多核工作的理念和单核的一样,只是工作的复杂度更大。

linux中的进程有大致分三种:管控进程、调用其它进程的进程和普通进程:

管控进程又分为多种,一种是内核,这时linux最重要的进程,它实现的是进程与硬件的通信,实现进程间通信,管控进程的运行。既然内核要实现这种功能那就需要内核有一个特点:实时在线,只有实时在线才可以保证对其它进程的监控,但是cpu同时只能有进程运行,这时需要内核给进程指定一定的运行时间,时间到了内核就会抢回cpu,然后继续分配时间给某个进程。进程不是一次性运行完成得到结果,而是经过多个时间片段运行后得到结果,这里就需要进程有状态了,运行的时候是运行状态,停止的停止,这个内容在下一节说。内核抢占cpu需要cpu的中断功能,这里不介绍了。另一种管控进程,initcentos6中使用的)或者systemdcentos7中使用的),它不是必须的,但是centos却使用它来监控各个进程,只因为它拥有更强的监控功能。

bash调用其它进程和实现交互功能的进程。bash调用其它进程的过程:复制自己一份到内存中,然后把调用的程序加载到这份内存里,最后进程被调度执行。

二 进程状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ps 查看进程的状态
ps [opthion]
     u            显示进程的所有者
     a            显示与终端有关的进程
     x            显示后台进程
     o            选项pid、  comm 、 %cpu、 %mem、 state、  tty 、 euser、 ruser
VSZ: Virtualmemory SiZe,虚拟内存集,线性内存
RSS: ReSidentSize, 常驻内存集
STAT:进程状态
     R: running
     S: interruptablesleeping
     D:uninterruptable sleeping
     T: stopped
     Z: zombie
     +: 前台进程
     l: 多线程进程
     N:低优先级进程
     <: 高优先级进程
     s: sessionleader,会话(子进程)发起者
1
2
3
4
5
6
7
8
9
pgrep [options]pattern 查找进程
     -u uid: effective user,生效者
     -U uid: real user,真正发起运行命令者
     -t terminal: 与指定终端相关的进程
     -l: 显示进程名
     -a: 显示完整格式的进程名
     -P pid: 显示指定进程的子进程
实时查看进程信息的命令
top ,htop,glance,dstat统计各种系统信息的总和


三 进程管理

kill signal pid

1
2
3
4
5
6
7
常用信号:  man  7 signal
1) SIGHUP: 无须关闭进程而让其重读配置文件
2) SIGINT: 中止正在运行的进程;相当于Ctrl+c
9) SIGKILL: 杀死正在运行的进程
15) SIGTERM:终止正在运行的进程
18) SIGCONT:继续运行
19) SIGSTOP:后台休眠


skill signal name

       kill的用法类似

进程前后台转换

  进程分为前台和后台进程,前台正在运行的进程可以通过ctrl+z把进程放到后台,放到后台后进程变为停止状态。

1
2
3
jobs              查看后台的进程
bg #             让后台的进程变为运行(#可以通过jobs查看)
fg #              把后台进程调回前台


四 计划任务

1
2
3
4
5
6
at[option]  time
TIME:定义出什么时候进行 at 这项任务的时间
HH:MM [YYYY-mm- dd ]
noon, midnight, teatime( 4pm)
tomorrow
now+ #{minutes,hours,days, OR weeks}

crond

1
2
3
4
5
6
7
8
9
/etc/crontab 文件的格式
# Example of job definition:
# .---------------- minute (0 - 59)
# |   .------------- hour (0 - 23)
# |   |.---------- day of month (1 - 31)
# |   |    | .------- month (1 - 12) ORjan,feb,mar,apr ...
# |   |     | | .---- day of week (0 - 6)(Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat
# |   |     |    |     |
# * * * * * user-name command to beexecuted

普通用户可以使用crontab命令定义自己的计划任务,生成的文件位于/var/spool/cron/username

总结

       这一节重点是crontab的定义和使用,熟练使用topdstat判断网络的瓶颈解决,然后使用ps定位问题,并使用kill解决问题。




      本文转自Ailu0li 51CTO博客,原文链接:http://blog.51cto.com/oldking/1878979 ,如需转载请自行联系原作者




相关文章
|
6月前
|
调度 Windows Perl
进程和计划任务管理
进程和计划任务管理
49 0
|
6月前
|
消息中间件 监控 Linux
Linux进程和计划任务管理
通过这些命令和工具,你可以有效地管理Linux系统中的进程和计划任务,监控系统的运行状态并保持系统的稳定和可靠性。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
139 2
|
监控 网络协议 Unix
|
调度
进程和计划任务管理
进程和计划任务管理
100 0
进程和计划任务管理
|
调度 Windows Perl
进程和计划任务管理命令
进程和计划任务管理命令
99 0
|
安全 调度 监控
进程和计划任务管理(4)
内核的功用:进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等。 1 程序 1.1 什么是程序? 是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。 用于描述进程要完成的功能,是控制进程执行的指令集。 保存在硬盘、光盘等介质中的可执行代码和数据。 静态保存的代码。
117 1
|
安全 Linux Ubuntu
进程和计划任务管理(3)
内核的功用:进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等。 1 程序 1.1 什么是程序? 是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。 用于描述进程要完成的功能,是控制进程执行的指令集。 保存在硬盘、光盘等介质中的可执行代码和数据。 静态保存的代码。
129 1
|
缓存 安全 调度
进程和计划任务管理(2)
内核的功用:进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等。 1 程序 1.1 什么是程序? 是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。 用于描述进程要完成的功能,是控制进程执行的指令集。 保存在硬盘、光盘等介质中的可执行代码和数据。 静态保存的代码。
100 1
|
监控 安全 Unix
进程和计划任务管理(1)
内核的功用:进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等。 1 程序 1.1 什么是程序? 是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。 用于描述进程要完成的功能,是控制进程执行的指令集。 保存在硬盘、光盘等介质中的可执行代码和数据。 静态保存的代码。
115 0
|
缓存 Ubuntu Linux
Linux进程和计划任务(把心留给在乎你的人吧)(二)
Linux进程和计划任务(把心留给在乎你的人吧)(二)
110 0
Linux进程和计划任务(把心留给在乎你的人吧)(二)