進程管理工具
kill
man 7 signal
1) SIGHUP: 無須關閉進程而讓其重讀配置文件
kill -1 進程編號
2) SIGINT: 中止正在運行的進程;相當于Ctrl+c
9) 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: 顯示父進程為此處指定的進程的進程列表
nohup
nohup 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 指令終止
nice
nice -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 on
runlevel 啟動模式
(5,6模式的時候使用。)
7版本使用:
systemctl status atd 查看服務器是否啟動
systemctl start atd
at -V 查看版本
at 10:12 指定時間
wall at job is starting 廣播
touch /root/at.log
echo "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.sh
at 10:30 < /root/at.sh
at 10:30 <<eof
touch f1
eof
-m:當任務被完成之后,將給用戶發送郵件,即使沒有標準輸出
HH:MM [YYYY-mm-dd] 10:30 2016-10-1
noon, midnight, teatime(4pm) 04pm March 17
tomorrow 10:30 tomorrow
now+#{minutes,hours,days, OR weeks}
now + 5minutes 04pm + 3 days
at任務
vim /etc/at.deny (黑名單)
zczx 只需要加入用戶的名字,就可以禁止該用戶使用at。
vim /etc/at.allow 白名單(比黑名單優先)
如果設置了白名單,at只能是白名單有名字的用戶才能使用了,即使不在黑名單中。默認這個文件是不存在的,需要自己建立。
如果兩個文件都刪了,除了管理root用戶,其他用戶一樣使用不了。
cron 周期性
crond
systemctl 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.d
cat 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+rootfs
kernel: 進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能
GNU/linux
內核設計流派:
單內核(monolithic kernel):Linux
把所有功能集成于同一個程序
微內核(micro kernel):Windows, Solaris
每種功能使用一個單獨子系統實現
Linux內核特點:
支持模塊化:.ko(內核對象)
如:文件系統,硬件驅動,網絡協議等
支持內核模塊的動態裝載和卸載
(模塊化)
組成部分:
核心文件:/boot/vmlinuz-VERSION-release
ramdisk:輔助的偽根系統
CentOS 5: /boot/initrd-VERSION-release.img
CentOS6,7: /boot/initramfs-VERSION-release.img
模塊文件:/lib/modules/VERSION-release
先查找內核,再啟動驅動
CentOS6,7: /boot/initramfs-VERSION-release.img 誤刪了這個文件可以通過開機進去救援系統
chroot /mnt/sysimage 切換回根目錄
cd /boot
mkinitrd initramfs-`uname -r`.img `uname -r` 重新生成 (5,6版本使用)
Cento5,6
POST加電自檢》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.97
rpm -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.d
K為頭的不運行,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 service
case $1 in
start)
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 可以看現在是什么模式
ntsysv
ntsysv –level=2
yum -y xinted
service xinted status 服務狀態查詢
start 服務開啟
vim /etc/xinetd
chkconfig telnet on
非獨立服務要xinetd 監聽
建立于xineted 的運行
7版本全部服務都默認不啟動,當需要一個服務就激活一個服務,這樣能節省更多的資源。端口和服務獨立開了。舊版本服務和端口是綁定關系。
破解5,6口令
進入按a模式
1 s S 單用戶,登陸進去就是root用戶
passwd 修改回密碼 不過只能在本機使用。
原創文章,作者:swzczx,如若轉載,請注明出處:http://www.www58058.com/45547
文章內容充實,也通過具體操作展示了各個管理命令的效果,贊一個