進程管理工具

進程管理工具

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 +指令 可以查詢該指令活動進程的編號

blob.png

前后臺的切換(fg,bg,Ctrl z)

想要操作在后臺運行只需在后面加 &符號(交互式的指令如vim不能有效)

blob.png

jobs 看后臺命令的進程代號數字

blob.png

fg 1 關掉后臺數字1的進程

blob.png

Ctrl z 將前臺進程放到后臺休眠

blob.png

jbos

blob.png

bg 1 將后臺休眠進程放到后臺運行

blob.png

ps aux  查看程序進程編碼

kill -18 +進程編號  后臺運行

kill -19 +進程編號  后臺休眠

kill -9  +進程編號  終止進程

QQ圖片20160911175223.png

pkill -t pts/2  關閉指定用戶的進程(默認是15指令)

blob.png

blob.png另一個終端的進程停止了

pkill -9 -t pts/2  (強制終止)

blob.png如果使用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 回話功能繼續調用進程,這個只要一鏈接回去自動默認調用回前臺

blob.png

blob.png

blob.png

順序執行: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)

blob.png

已經在運行的進程默認是0,也可以不停止調優先級別

ps axo pri 查看后臺進程權限

blob.png

renice -n -10 進程編號  

調整優先級別

任務計劃

linux任務計劃,周期性任務執行

分為一次性和周期性

at 一次性

batch: 系統會自動選擇空閑時間運行

cron 周期性

at 一次性

rpm -q at 可以查詢at服務是否安裝

blob.png

/var/spool/at 有新建的任務會在這里

blob.png

blob.png

/etc/rc.d/atd status 查詢服務是否啟動

chkconfig –list atd 可以查看服務是否開機啟動,看5模式是否啟動

blob.png 

chkconfig –level 5 atd on

runlevel 啟動模式

(5,6模式的時候使用。)

blob.png

7版本使用:

systemctl status atd 查看服務器是否啟動

systemctl start atd 

blob.png

at -V 查看版本

blob.png

at 10:12 指定時間

wall at job is starting 廣播

touch /root/at.log

echo "at echo"

用Ctrl D 結束(如果按了Ctrl C 就清空了)

blob.png

如果有echo的標準輸出,不會在屏幕上輸出,會自動轉發成郵件給你

atq 可以查看到有多少個指定任務

blob.png

at -l 效果一樣

blob.png

at -d 其實等于直接刪除文件 ,/var/spool/at

blob.png

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版本 查看服務是否啟動

blob.png

service crond status 6版本

blob.png

rpm -ql cronie

blob.png

chkconfig –list crond 可以查看服務是否開機啟動

blob.png

rpm -ql cronie-anacron 輔助包 用于移動端和家用機

blob.png

系統cron任務:系統維護作業

/etc/crontab

blob.png

用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 可以查看到格式

blob.png

系統的計劃任務:

/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版本

blob.png

日志:/var/log/cron

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

blob.png

crontab -e 新建一個周期任務

* * * * * echo zczxcron

blob.png

0 12 * * * wall class over 12點發送廣播

blob.png

cd /var/spool/cron/ 保存會文件會在這個目錄中

blob.png

通過 crontab 的特殊權限普通用戶可以讀寫。

crontab -r 刪除計劃任務

所新建的文件名字,就是用戶名字命名。

文件名字要和所有者配對,任務才會生效。

blob.png發現連配置文件都一起刪除

crontab

-l: 列出所有任務;

blob.png

-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版本使用

blob.png

man 5 crontab

blob.png

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 誤刪了這個文件可以通過開機進去救援系統

blob.png

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 可以查看什么服務在什么模式下是否運行

blob.png

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 給予執行權限

blob.png

chkconfig –add testsrv 增加服務板塊

service testsrv start  服務開啟

stop       關閉

blob.png

chkconfig –del testsrv 刪除服務板塊

blob.png

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

blob.png

ntsysv

ntsysv –level=2

blob.png

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

(0)
swzczxswzczx
上一篇 2016-09-11
下一篇 2016-09-12

相關推薦

  • 數據分析≠Hadoop+NoSQL,不妨先看完善現有技術的10條捷徑

    讓業務搭乘大數據技術確實是件非常有吸引力的事情,而Apache Hadoop讓這個誘惑來的更加的猛烈。Hadoop是個大規??蓴U展數據存儲平臺,構成了大多數大數據項目基礎。Hadoop是強大的,然而卻需要公司投入大量的學習精力及其它的資源。 如果得到正確的應用,Hadoop確實能從根本上提升你公司的業務,然而這條Hadoop的應用之路卻充滿了荊棘。另一個方面…

    Linux干貨 2015-02-25
  • cp,chmod,chown,chgrg,grep命令應用實例和總結

    1.復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的其他屬組和其他用戶沒有任何訪問權限。[root@dxlcentOS ~]# cp -a /etc/skel/ /home/tuser1[root@dxlcentOS ~]# chmod -R go= /home/tuser1 遞歸修改權限,g:組的權限,o其他…

    Linux干貨 2017-10-26
  • httpd及https

    1、建立httpd服務,要求: (1) 提供兩個基于名稱的虛擬主機:     www1.stuX.com,頁面文件目錄為/web/vhosts/www1;錯誤日志為/var/log/httpd/www1/error_log,訪問日志為/var/log/httpd/www1/access_log;   &nbs…

    2017-06-05
  • 使用CDN后,PHP如何獲取用戶的真是IP?

    在統計訪問日志參數的時候IP是一個重要的參數,所有索取客戶端的IP就至關重要。 在logformat配置中有兩個變量是獲取IP地址的: remoteaddr:客戶端IP xforwardedfor:客戶端的IP 從上面來看兩個都是客戶端IP,那這兩個變量有什么不同? 首先當你訪問某個網站,假設你中間不經過任何代理,那么webserver就會把remotead…

    Linux干貨 2015-12-21
  • keepalived單主模型和nginx雙主模型

    主程序:keepalived 主配置文件:/etc/keepalived/keepalived.conf 單主模型ipvs: global_defs { notification_email { root@localhost } notification_email_from keepalived@localhost smtp_server 127.0.0.…

    Linux干貨 2017-08-08
  • 21期第一周網絡練習作業

    計算機的組成部分及功能 由運算器、控制器、存儲器、輸入設備和輸出設備組成 其中運算器負責數據的算術運算和邏輯運算,即數據的加工處理;   控制器負責對控制信息進行分析,控制并協調輸入、輸出操作或內存、外存訪問;   存儲器用來存放計算程序及參與運算的各種數據,實現類似人腦記憶功能的部件,分為內存和外存;  &…

    Linux干貨 2016-07-12

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-20 11:06

    文章內容充實,也通過具體操作展示了各個管理命令的效果,贊一個

欧美性久久久久