您的位置:首页 > 运维架构 > Linux

进程管理工具

2016-09-21 10:08 323 查看
进程管理工具kill
man 7 signal1) SIGHUP: 无须关闭进程而让其重读配置文件kill -1 进程编号2) SIGINT: 中止正在运行的进程;相当于Ctrl+c9) SIGKILL: 杀死正在运行的进程再生进程 kill -9 杀不掉15) SIGTERM:终止正在运行的进程kill -15/或不写(默认) +进程编号。正常终止进程 18) SIGCONT:继续运行19) SIGSTOP:后台休眠
pidof +指令 可以查询该指令活动进程的编号

前后台的切换(fg,bg,Ctrl z)想要操作在后台运行只需在后面加 &符号(交互式的指令如vim不能有效)

jobs 看后台命令的进程代号数字

fg 1 关掉后台数字1的进程

Ctrl z 将前台进程放到后台休眠

jbos

bg 1 将后台休眠进程放到后台运行

ps aux 查看程序进程编码kill -18 +进程编号 后台运行kill -19 +进程编号 后台休眠kill -9 +进程编号 终止进程

pkill -t pts/2 关闭指定用户的进程(默认是15指令)



另一个终端的进程停止了pkill -9 -t pts/2 (强制终止)

如果使用9强制指令会发现指定的终端连链接都掉了。,pkill -u zczx 可以删除指定用户身份运行的进程
-SIGNAL-u uid: effective user,生效者-U uid: real user,真正发起运行命令者-t terminal: 与指定终端相关的进程-l: 显示进程名-a: 显示完整格式的进程名-P pid: 显示父进程为此处指定的进程的进程列表
nohupnohup ping 127.0.0.1 & 可以使进程继续在后台运行,但是已经不能用jobs查看到进程代码数字,所以调不会去前台,只能用kill关闭screen;COMMAND还能用screen 回话功能继续调用进程,这个只要一链接回去自动默认调用回前台






顺序执行:f1.sh;f2.sh;f3.sh并行执行:(f1.sh&);(f2.sh&);(f3.sh&) 同时开多个子进程同时运行各脚本进程{ f1.sh& f2.sh& f3.sh& }用ps aux 查看进程编号用kill 指令终止
nicenice -n -10 ping 10.1.0.1 指定进程的nice优先级别(-20到20)

已经在运行的进程默认是0,也可以不停止调优先级别ps axo pri 查看后台进程权限

renice -n -10 进程编号 调整优先级别
任务计划linux任务计划,周期性任务执行分为一次性和周期性at 一次性batch: 系统会自动选择空闲时间运行cron 周期性
at 一次性rpm -q at 可以查询at服务是否安装

/var/spool/at 有新建的任务会在这里



/etc/rc.d/atd status 查询服务是否启动
chkconfig --list atd 可以查看服务是否开机启动,看5模式是否启动

chkconfig --level 5 atd onrunlevel 启动模式
(5,6模式的时候使用。)

7版本使用:systemctl status atd 查看服务器是否启动systemctl start atd

at -V 查看版本

at 10:12 指定时间wall at job is starting 广播touch /root/at.logecho "at echo"用Ctrl D 结束(如果按了Ctrl C 就清空了)

如果有echo的标准输出,不会在屏幕上输出,会自动转发成邮件给你
atq 可以查看到有多少个指定任务

at -l 效果一样

at -d 其实等于直接删除文件 ,/var/spool/at


at 9:00 2016-9-10-1 可以指定时间,年月日wall holiday
-V 显示版本信息:-l: 列出指定队列中等待运行的作业;相当于atq-d: 删除指定的作业;相当于atrm-c: 查看具体作业任务-f /path/from/somefile:从指定的文件中读取任务at 10:30 -f /root/at.shat 10:30 < /root/at.shat 10:30 <<eoftouch f1eof-m:当任务被完成之后,将给用户发送邮件,即使没有标准输出
HH:MM [YYYY-mm-dd] 10:30 2016-10-1noon, midnight, teatime(4pm) 04pm March 17tomorrow 10:30 tomorrownow+#{minutes,hours,days, OR weeks}now + 5minutes 04pm + 3 days
at任务vim /etc/at.deny (黑名单)zczx 只需要加入用户的名字,就可以禁止该用户使用at。vim /etc/at.allow 白名单(比黑名单优先)如果设置了白名单,at只能是白名单有名字的用户才能使用了,即使不在黑名单中。默认这个文件是不存在的,需要自己建立。如果两个文件都删了,除了管理root用户,其他用户一样使用不了。
cron 周期性crondsystemctl status crond 7版本 查看服务是否启动

service crond status 6版本

rpm -ql cronie

chkconfig --list crond 可以查看服务是否开机启动

rpm -ql cronie-anacron 辅助包 用于移动端和家用机

系统cron任务:系统维护作业/etc/crontab

用vim 可以增加计划任务# Example of job definition:# .----------------minute (0 -59)# | .-------------hour (0 -23)# | | .----------day of month (1 -31)# | | | .-------month (1 -12) OR jan,feb,mar,apr...# | | | | .----day of week (0 -6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat# | | | | |# * * * * * user-name command to be executed例如:晚上9点10分运行echo命令;10 21 * * *centos /bin/echo "Howdy!"
离散值 1,10,20 2,4 1-10,20-28 1,10,20分钟 2,4小时 1到10,20-28号*/10 每10分钟一次@rebootRun 每次重启之后@yearly 每年@annually @monthly 每个月@weekly 每星期@daily 每天@hourly 每小时cd /etc/cron.dcat ohourly 可以查看到格式

系统的计划任务:/etc/crontab/etc/cron.d/ 配置文件/etc/cron.hourly/ 脚本/etc/cron.daily/脚本/etc/cron.weekly/脚本/etc/cron.monthly/脚本
systemctl systemd-tmpfiles-setup 7版本实现清除临时文件
/etc/cron.daily/tmpwatch定时清除临时文件。6版本

日志:/var/log/cron
可以用cat /var/log/cron 查看日志中的周期指令

crontab -e 新建一个周期任务* * * * * echo zczxcron

0 12 * * * wall class over 12点发送广播

cd /var/spool/cron/ 保存会文件会在这个目录中

通过 crontab 的特殊权限普通用户可以读写。crontab -r 删除计划任务所新建的文件名字,就是用户名字命名。文件名字要和所有者配对,任务才会生效。

发现连配置文件都一起删除crontab-l: 列出所有任务;

-e: 编辑任务;-r: 移除所有任务;-i:同-r一同使用,以交互式模式移除指定任务-u user: 仅root可运行,指定用户管理cron任务
/etc/cron.{allow,deny}白名单、黑名单需自己创建功效与at一样。
一次性作业使用at重复性作业使用crontab建立任务 at time crontab -e列出任务表 at -l crontab -l查看具体任务 at -c jobnumN/A删除任务 at -d jobnum crontab -r编辑任务 crontab -e没有被重定向的输出会被邮寄给用户根用户能够修改其它用户的作业
对于cron任务来讲,%有特殊用途;如果在命令中要使用%,则需要转义;不过,如果把%放置于单引号中,也可以不用转义
mandb 创建数据库 7版本使用

man 5 crontab

run-parts DIR可以运行指定目录下所有的可执行文件

anacron 6版本之后都取消了这个服务,让crond服务

系统启动和内核管理
linux 组成Linux: kernel+rootfskernel: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能
GNU/linux
内核设计流派:单内核(monolithic kernel):Linux把所有功能集成于同一个程序微内核(micro kernel):Windows, Solaris每种功能使用一个单独子系统实现
Linux内核特点:支持模块化:.ko(内核对象)如:文件系统,硬件驱动,网络协议等支持内核模块的动态装载和卸载(模块化)
组成部分:核心文件:/boot/vmlinuz-VERSION-releaseramdisk:辅助的伪根系统CentOS 5: /boot/initrd-VERSION-release.imgCentOS6,7: /boot/initramfs-VERSION-release.img模块文件:/lib/modules/VERSION-release
先查找内核,再启动驱动CentOS6,7: /boot/initramfs-VERSION-release.img 误删了这个文件可以通过开机进去救援系统

chroot /mnt/sysimage 切换回根目录cd /bootmkinitrd initramfs-`uname -r`.img `uname -r` 重新生成 (5,6版本使用)
Cento5,6POST加电自检》MBR引导》GRUB》加载内核centos6启动流程1.加载BIOS的硬件信息,获取第一个启动设备。2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备。4.核型执行init程序并获取运行信息。5.Init执行/etc/rc.d/rc.sysinit文件。6.启动核心的外挂模块(/etc/modprobe.conf)。7.Init执行运行的各个批处理文件(scripts).8.Init执行/etc/rc.d/rc.local.9.执行/bin/login程序,等待用户登录。10.登录之后开始以Shell控制主机。
bootloader: 引导加载器,引导程序rpm -q grub 5,6版本是0.97rpm -q grup2 7的版本直接成为2
kernel:自身初始化:探测可识别到的所有硬件设备加载硬件驱动程序(可能借助于ramdisk加载驱动)以只读方式挂载根文件系统运行用户空间的第一个应用程序:/sbin/init
系统初始化:POST --> BootSequence(BIOS) --> Bootloader(MBR) --> kernel(ramdisk) --> rootfs(只读) --> init(systemd)
/etc/.rc.sysinit /etc/rc.d/rc.sysinit: 系统初始化脚本(1) 设置主机名(2) 设置欢迎信息(3) 激活udev和selinux(4) 挂载/etc/fstab文件中定义的文件系统(5) 检测根文件系统,并以读写方式重新挂载根文件系统(6) 设置系统时钟(7) 激活swap设备(8) 根据/etc/sysctl.conf文件设置内核参数(9) 激活lvm及software raid设备(10) 加载额外设备的驱动程序(11) 清理操作cd /etc/rc.dK为头的不运行,S为头的运行。决定服务是否启动。chkconfig --list 可以查看什么服务在什么模式下是否运行

chkconfig atd on 默认开启2,3,4模式进入 /etc/init.d 下建立脚本服务脚本#!/bin/bash#chkconfig:35 88 22 (3,5模式on 开启S88 关闭K22)#description:texst servicecase $1 instart)echo testsrv staring;;stop)echo testsrv stop ;;status)echo testsrv status;;*)echo 'testsrv start|stop|status';;esac记得写完要用chmod +x 给予执行权限


chkconfig --add testsrv 增加服务板块
service testsrv start 服务开启stop 关闭

chkconfig --del testsrv 删除服务板块

who -r 可以看现在是什么模式

ntsysvntsysv --level=2

yum -y xinted
service xinted status 服务状态查询 start 服务开启vim /etc/xinetdchkconfig telnet on非独立服务要xinetd 监听建立于xineted 的运行7版本全部服务都默认不启动,当需要一个服务就激活一个服务,这样能节省更多的资源。端口和服务独立开了。旧版本服务和端口是绑定关系。
破解5,6口令进入按a模式1 s S 单用户,登陆进去就是root用户passwd 修改回密码 不过只能在本机使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 进程 管理工具