1.大纲 [1] 进程的概念 [2] 进程管理命令 [3] 计划任务 2.进程和程序的区别 [1]程序是静态概念,本深作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命周期,是动态产生和消亡的 [2]程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序 3.父进程与子进程 [1] 子进程是由一个进程所产生的进程,产生这个子进程的进程叫父进程 [2]在linux系统中,使用系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境。 [3]父进程终止子进程自然终止 4.前台进程和后台进程 [1] 前台进程:在shell提示处打入命令后,创建一个子进程,运行命令,shell等待命令退出,然后返回到对用户提示符。即在前台运行,用户在它完成之前不能执行另一个命令。 [2]后台进程: 在shell提示处打入命令,若后随一个&,shell创建的子进程运行此命令,但不等待命令退出,而直接返回到对用户给出提示。这条命令与shell同步运行,即在后台运行。后台进程必须是非交互式的。 5.进程状态 [1]就绪:进程已经分配到资源,但因为其它的进程正占用CPU,所以暂时不能运行而等待分配CPU的状态 [2]等待:因等待某种事件而暂时不能运行的状态 [3]运行:进程分配到CPU,正在处理器上运行 6.进程状态细化 [1] 用户态运行:在CPU上执行用户代码 [2] 核心态运行:在CPU上执行核心代码 [3] 在内存就绪:具备运行条件,只等调度程序为它分配cpu [4] 在外存就绪:就绪进程被交换到外存上继续处于就绪状态 [5] 在外存睡眠:因调用stop程序而进入跟踪暂停状态,等待其父进程发送命令。 [6]在外存暂停:处于跟踪暂停的进程被交换到外存上 [7]创建态: 新进程正在被创建、但尚未完毕的中间状态 [8]终止态:进程终止自己 7.进程管理的命令 [1] w 显示信息的含义 1> JCPU:以终端代号来区分,该终端所有祥光的进程执行时,所消耗的CPU时间会显示在这里 2> PCPU:CPU执行程序耗费的时间 3>WHAT 用户正在执行的操作 [2] w username 查看某个用户 [3] w 相关的信息 1> load average:分别显示系统在过去1、5、15分钟内的平均负载程度 2>FROM: 显示用户从何处登录系统,”:0“的显示代表该用户时从 X Window下,打开文本模式窗口登录的 3>IDLE:用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器,一旦用户执行任何操作,该计时器便会被重置 [4] ps 1> a: 显示所有用户的进程 2> u: 显示用户名和启动时间 3> x: 显示没有控制终端的进程 4> e: 显示所有进程,包括没有控制终端的进程 5> l:长格式显示 6> w: 宽行显示,可以使用多个w进行加宽显示 [5] ps 查看隶属于自己的进程 [6] ps -u or -l 查看隶属于自己进程详细信息 [7] ps -le or -aux 查看所有用户执行的进程的详细信息 [8] ps -aux -sort pid 可按进程执行的时间、PID、UID等对进程进行排序 [9] 选项含义 1> PID: 进程号 2> PPID: 父进程的进程号 3> TTY: 进程启动的终端 4> STAT:进程当前的状态 S休眠状态,D不可中断的休眠状态,R运行状态,Z僵死状态,T停止 5>NI:进程优先级 6>TIME:进程自从启动以来启用的CPU的总时间 7>COMMAND/CMD:进程的命令名 8>USER:用户名 9>%CPU:占用CPU时间和总时间的百分比 10>%MEM:占用内存与系统内存总量的百分比 [10] ps -le | grep httpd 管道 [11] ps -aux | grep sam [12] ps -uU sam 查看系统中执行的用户执行的进程 [13] ps -le | grep init 查看指定进程信息 [14] kill 杀死进程 1> 该进程占用了过多的CPU时间 2> 该进程锁住了一个终端,是其它前台进程无法运行 3> 运行时间过长,但没有预期效果 4> 产生了过多到屏幕或磁盘文件的输出 5> 无法正常的退出 [15]kill -9 pid 强行关闭 [16]kill -1 pid 重启进程 [17]关闭图形程序:xkill [18]结束所有进程:killall [19]查找服务进程号: pgrep 服务名称 [20]关闭进程:pkill进程名称 [21]ls /proc 虚拟的文件目录 [22]cat /proc/cpuinfo [23]pgrep httpd 查看服务进程的信息 [24]kill -1 `preg httpd` 文字替换符关闭 [25]nice 指定程序的运行优先级 nice -n command nice -5 program [26]renice 改变一个正在运行的进程的优先级 renice n pid 例如:renice -5 777 [27]优先级 -20 到 19 [28]nohup 使进程在用户退出登录后仍旧继续运行,nohup命令将执行后的数据信息和错误信息默认储存到文件nohup.out中 格式: nohup program & [29]nohup find / -name init* > /root/find.init.2011.11.28 & [30]进程的终止(挂起)ctrl+z和终止ctrl+c [31]进程的恢复 恢复到前台继续运行 (fg)、后台(bg) [32]查看被挂起的进程 (jobs) [33]find / -name adb > /test/find.adb & 后台运行 [34]jobs [35] fg 1 / bg 1 [36] top 进程管理命令 1> d:指定刷新的时间间隔 2> c:显示整个命令行而不仅仅显示命令名 3> u:查看指定用户的进程 4> k:终止这个进程 pid 5> h or ? 获取帮助 6> r:设置进程的优先级 7> s:改变刷新的时间间隔 8> W:将当前设置写入~/.toprc文件中 [37] 计划任务的命令 1> at 安排作业在某一时刻执行一次 2> batch 安排作业在系统负载不重时执行一次 3> cron 安排周期性运行的作业 [38]at 安排一个或多个命令在指定的时间运行一次 1> at [-f 文件名] 时间 2> at -d or atrm 删除队列中的任务 3> at -l or atq 查看队列中的任务 [39]时间计时方法 a 绝对计时方法 b 相对计时方法 [40] 绝对计时方法 (推荐) 1> midnight noon teatime 2>hh:mm [today] 3>hh:mm tomorrow 4>hh:mm 星期 5>hh:mm MM/DD/YY [41]相对计时方法 1> now + n minutes 2> now + n hours 3> now + n days [42] at 1> at 5:30pm 2> at 17:30 3> at 17:30 today 4> at now + 3 hours 5> at now + 180 minutes 6> at 17:30 11.1.11 7> at 17:30 1/11/11 8> date 9> finger root 查看计划任务 10>启动at进程 /etc/rc.d/init.d/atd start 11>at now +5 minutes -> /usr/bin/wall < /etc/motd -> ctrl+d 12>at -f at.script 9:00 2/2/11 or at < at.script 9:00 2/2/11 13>at -l 查看计划任务 14>at存放目录 /var/spool/at/ 15> at -l -> at -d number 删除计划任务 [43]作用:限制哪些用户可以使用at命令 1> /etc/at.allow 2> /etc/at.deny 3> 若at.allow存在,只有在这个文件内用户可以使用 4> 若at.deny存在,只有不在这个文件的用户可以使用 5> 若at.allow和at.deny都存在且都为空,则所有用户都可以使用 6> 若两个都不存在,只有管理员root可以使用 [44]作用:安排一个或多个命令在系统负载较轻时运行一次(一般情况下负载较轻指平均负载降到0.8一下),使用方法和at相同 [45]crontab 用于生成cron进程所需要的crobtab文件 1> -l 显示当前的crontab 2> -r 删除当前的crontab 3> -e 使用编辑器编辑当前的crontab文件 4> crontab -e 分钟 小时 天 月 星期 命令/脚本 5> 法则:把知道的具体时间都添加上,不知道得都添加上* 6> 0(分钟) 4(小时) *(天) *(月) *(星期) 每天4点 7> 0(分钟) 18(小时) *(天) *(月) 2,5(星期) 每个星期2和星期5 8> 0(分钟) 18(小时) *(天) 1-3(月) 2,5(星期) 1-3月的每个星期2和星期5 9> 30(分钟) 17(小时) *(天) *(月) 2,5(星期) 每个星期2和星期5 10> */2(每隔两分钟) 12-14(小时) * 3-6,9-12(月) 2,5(星期) /bin/cp -r /etc/backup/etc.20110111 2> /backup/etc.bak.err > /dev/null(黑洞) [46] 书写注意事项 1> 这些项都不能为空,必须填入 2> 如果用户不需要指定其中的几项,那么可以使用通配符*表示任何时间 3>每个时间字段都可以指定多个值,他们之间用逗号间隔 4>命令应该给出绝对路径 5>用户必须具有运行所对应的命令或程序的权限 [47] crontab 其他选项 1> ls /var/spool/cron 查看 2> crontab -l 查看 3> crontab 编辑 4> crontab -r 删除 [48] /etc/crontab 配置文件 [49] 进程处理方式 1> standalone 独立运行 (一直运行) 2> xinetd 进程托管 (/etc/xinet.d) 3> atd、crond计划任务 [50] netstat -an | grep "LISTEN" | more 查看网络监听端口
相关推荐
笔记内容覆盖了Linux的安装、常用命令、文本编辑器Vim、系统引导流程、软件包管理、用户管理、进程管理、文件系统管理以及Shell编程。这套笔记的特点是内容更新、全面且实用,风格简洁明了,旨在传播编程知识,特别...
- **VMware Workstation**:提供高级功能,如快照管理和共享文件夹。 - **VirtualBox**:开源且免费,适用于轻量级使用场景。 ##### 3、虚拟机的安装过程 - **VMware Workstation**:包括安装程序的启动、许可协议...
MySQL 5.7是MySQL数据库管理系统的一个重要版本,它提供了许多增强的功能和性能优化,适合初学者学习和专业人士日常查询。以下将详细讲解压缩包文件中涉及的一些关键知识点: 1. **MySQL体系结构及基础管理**: ...
- `anacron` 在系统未开机时也能执行计划任务。 - `autofs` 自动挂载文件系统,如USB设备。 - `avahi-daemon` 实现zeroconf协议,用于无需DNS的局域网设备发现。 - `bluetooth` 服务及相关组件用于蓝牙设备的管理和...
- **包管理器**: 熟悉apt(Debian/Ubuntu)、yum(RHEL/CentOS)或dnf(Fedora)等包管理工具,学会安装、更新和卸载软件。 - **编译源码安装**: 了解如何从源代码编译软件,理解./configure、make、make install...
- **Linux发行版本介绍**:熟悉主流Linux发行版,如Ubuntu、CentOS、Fedora等的特点和应用场景。 - **Linux相关认证介绍**:介绍业界认可的Linux认证,如LPIC(Linux Professional Institute Certification)、RHCSA...