标签:shell acpi status hid 长度 rtu ctr 复杂 查找
[root@magedu6 ~]# pstree #以进程树的形式显示当前进程 init─┬─NetworkManager─┬─dhclient │ └─{NetworkManager} ├─abrtd ├─acpid ├─atd ├─auditd───{auditd} ├─automount───4*[{automount}]
....
而在CentOS 7上第一个进程是systemd
systemd─┬─NetworkManager─┬─2*[dhclient] │ └─2*[{NetworkManager}] ├─auditd───{auditd} ├─automount───4*[{automount}] ├─crond ├─dbus-daemon───{dbus-daemon} ├─login───bash ├─master─┬─pickup │ └─qmgr
...
Process: 运行中的程序的一个 副本,是被 载入内存的一个指令集合
进程ID (Process ID ,PID )号码被用来标记各个进程
UID 、GID 、和SELinux 语境决定对文件系统的存取和 访问权限,
通常 从执行进程的 用户来继承
存在生命周期
task struct :Linux 内核存储进程信息的数据结构格式
task list :多个任务的的task struct 组成的链表
进程:都由其父进程创建,CoW #CoW写时复制技术
fork(), clone()
过程这样的
1、系统先以fork的方式复制一个与服进程相同的进程,这个进程与服进程唯一的差别就是PID不同,但是这个进程还会多一个PPID的参数,PPID就是父进程的程序识别PID。
2、然后新产生的进程开始加载实际要运行的程序进行执行。#只有进行写入操作的时候才会这样。
进程间通信
1.主机上的进程通信可以通过signal(信号指令)、shm(共享内存空间)、semerphor(旗语)
2.两个主机间的通信通过rpc(远程过程调用)、socket(套接字)
进程优先级:
系统优先级: 数字越小,优先级越高
0-139 (CentOS4,5) )
各有140 个运行队列和过期队列
0-98 ,99 (CentOS6) )
实时优先级: 99-0 :值最大优先级最高
nice 值:-20 到19 ,对应 系统优先级100-139 或99
Big O :时间复杂 度 ,用时和规模 的 关系
O(1), O(logn), O(n) 线性, O(n^2) 抛物线, O(2^n)
进程状态
linux内核:抢占式多任务 #在以前操作系统中是协作式多任务,意思是一个任务得到了CPU时间,除非它自己放弃使用CPU,否则将完全霸占CPU,而抢占式多任务系统的控制权在操作系统这,操作系统会轮询的问每个任务是否需要CPU的使用权,而过一段时间后会收回CPU使用权,将它放在最后,在去询问下一个任务,这样的好处是不会造成任务锁死
[root@localhost ~]# ps -A -e #-A和 -e 效果是一样的。 PID TTY TIME CMD 1 ? 00:00:03 systemd 2 ? 00:00:00 kthreadd 3 ? 00:00:02 ksoftirqd/0 7 ? 00:00:00 migration/0 8 ? 00:00:00 rcu_bh
[root@localhost ~]# ps a PID TTY STAT TIME COMMAND 2180 tty1 Ss+ 0:00 -bash 6810 pts/0 Ss 0:00 -bash 7231 pts/0 R+ 0:00 ps a
选项 | 说明 |
---|---|
-d | 指定每两次屏幕信息刷新之间的时间间隔 |
-i | 不显示限制或者僵死的进程信息 |
-c | 显示进程的整个命令路径,而不是只显示命令名称 |
-s | 使top命令在安全模式下运行。此时top的交互式指令被取消,避免潜在危险 |
-b | 分屏显示输出信息,结合“-n”选项可以将屏幕信息输出到文档 |
-n | top输出信息更新的次数,完成后将退出top命令 |
还有一些交互式命令
第二行和第三行分别是进程和CPU信息
最后 两行输出的是内存信息
进程信息区
进程信息区显示了每个进程的运行状态,我们先来看一下每列输出的含义。
[root@localhost ~]# vmstat 1 3 #一秒显示依次,3次后结束 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 1340 90868 0 253020 0 0 5 4 40 53 0 0 100 0 0 0 0 1340 90852 0 253020 0 0 0 0 122 173 0 1 99 0 0 0 0 1340 90852 0 253020 0 0 0 0 121 164 0 0 100 0 0 [root@localhost ~]#
[root@localhost ~]# cat /proc/1/maps 7fd420000000-7fd420029000 rw-p 00000000 00:00 0 7fd420029000-7fd424000000 ---p 00000000 00:00 0 7fd42778b000-7fd42778c000 ---p 00000000 00:00 0 7fd42778c000-7fd427f8c000 rw-p 00000000 00:00 0 7fd427f8c000-7fd427f8d000 ---p 00000000 00:00 0 7fd427f8d000-7fd42878d000 rw-p 00000000 00:00 0 7fd42878d000-7fd428791000 r-xp 00000000 fd:00 67235606 /usr/lib64/libuuid.so.1.3.0 7fd428791000-7fd428990000 ---p 00004000 fd:00 67235606 [root@localhost ~]# pmap 1 1: /usr/lib/systemd/systemd --switched-root --system --deserialize 21 00007fd420000000 164K rw--- [ anon ] 00007fd420029000 65372K ----- [ anon ] 00007fd42778b000 4K ----- [ anon ] 00007fd42778c000 8192K rw--- [ anon ] 00007fd427f8c000 4K ----- [ anon ] 00007fd427f8d000 8192K rw--- [ anon ] 00007fd42878d000 16K r-x-- libuuid.so.1.3.0 00007fd428791000 2044K ----- libuuid.so.1.3.0
dstat 命令:系统资源统计, 代替vmstat,iostat dstat [-afv] [options..] [delay [count]] -c: 显示cpu 相关信息 -C #,#,...,total -d: 显示disk 相关信息 -D total,sda,sdb,... -g :显示page 相关统计数据 -m: 显示memory 相关统计数据 -n: 显示network 相关统计数据 -p: 显示process 相关统计数据 -r: 显示io 请求相关的统计数据 -s: 显示swapped
[root@magedu6 ~]# cat /etc/rc.d/init.d/atd #命令状态确认 CentOS 6 #!/bin/sh # # atd Starts/stop the "at" daemon # # chkconfig: 345 95 5 # description: Runs commands scheduled by the "at" command at the time # specified when "at" was run, and runs batch commands when the load # average is low enough. ...省略 [root@magedu6 ~]# runlevel #确认是否启动 3 5 [root@magedu6 ~]# service atd status #查看当前状态 atd (pid 1913) 正在运行... [root@magedu6 ~]# chkconfig --list atd atd 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭 [root@localhost ~]# cat /lib/systemd/system/atd.service #CentOS 7上的状态确认 [Unit] Description=Job spooling tools After=syslog.target systemd-user-sessions.service [Service] EnvironmentFile=/etc/sysconfig/atd ExecStart=/usr/sbin/atd -f $OPTS ... [root@localhost ~]# systemctl is-enabled atd #确认开机是否启动 enabled [root@localhost ~]# systemctl status atd.service # #确认是否启动,.service可以省略 ● atd.service - Job spooling tools Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled) Active: inactive (dead) [root@localhost ~]# at 09:28 #默认交互模式,echo这类终端打印 命令没打印的原因是他以邮件方式发送给root。只要标准输出命令都要输出到/dev/null避免太多垃圾邮件 at> echo at is starting at> <EOT> job 3 at Wed May 10 09:28:00 2017 [root@localhost ~]# at -l #可以看到没执行的计划任务,相当于atq命令 2 Wed May 10 09:24:00 2017 a root 3 Wed May 10 09:28:00 2017 a root at命令关机也不会丢 因为会放在 /var/spool/at/... 文件里 [root@localhost ~]# getent passwd daemon #系统用户,查看情况 daemon:x:2:2:daemon:/sbin:/sbin/nologin
标签:shell acpi status hid 长度 rtu ctr 复杂 查找
原文地址:http://www.cnblogs.com/songcheng/p/6828709.html