第七篇:linux之基本權限、進程管理、系統服務
文章目錄 第七篇:linux之基本權限、進程管理、系統服務 一、基本權限 1、什么是權限? 2、為什么要有權限? 3、權限與用戶之間的關系? 4、權限對應的數字含義 5、使用chmod設定權限示例 二、進程管理 三、系統服務
一、基本權限
1、什么是權限?
我們可以把它理解為操作系統對用戶能夠執行的功能所設立的限制,主要用來約束用戶能對系統所做的操作,以及內容訪問的范圍,或者說,權限是指某個特定的用戶具有特定的系統資源的使用權力。
2、為什么要有權限?
因為系統中不可能只存在一個root用戶,一定會存在多個用戶,為保護每個登錄用戶的隱私和工作環境,所以便有了權限。
3、權限與用戶之間的關系?
在linux系統中,針對文件定義了三種身份,分別是屬主(owner)、屬組(group)、其他人(others),每一種身份又對應三種權限,分別是可讀(readable)、可寫(writable)、可執行(excutable)。
rw- r– r– 屬主權限位(文件所有者) 屬組權限位 其他人權限位 6 4 4
4、權限對應的數字含義
字母 含義 對應權限 r 讀取權限 4 w 寫入權限 2 x 執行權限 1 - 沒有權限 0
5、使用chmod設定權限示例
"""我們可以根據數字的不同,來對文件或文件夾設置對應的權限"""
chmod 777 demo. py
- rwxrwxrwx. 1 root root 57 Aug 6 20 : 34 demo. py
chmod 754 demo. py
二、進程管理
"""linux"""
ps - aux 【一般用的多】 [ 系統進程] / 用戶進程/
ps - ef
top
kill - l
kill - 9 進程id 號
pkill - 9 nginx
killall nginx """windows"""
tasklist """screen的使用:管理進程"""
yum install screen - y
1 、創建一個窗口,就可以在窗口中執行耗時任務【相當于打開了一個bash】
screen - S myjobs
2 、退出當前bash,但是耗時任務還在后臺運行
ctrl+ a+ d
3 、將bash中的后臺耗時任務調到前臺執行
screen - r myjobs
4 、查看當前打開了多少個screen窗口
screen - list
5 、可以使用exit退出screen( 也就是bash) 窗口
exit
狀態 描述 USER 啟動進程的用戶 PID 進程運行的ID號 %CPU 進程占用CPU百分比 %MEM 進程占用的內存百分比 VSZ 進程占用虛擬內存大小(單位KB) RSS 進程占用物理內存實際大小(單位KB) TTY 進程是由那個終端啟動的tty1、pts/0等,?表示內核程序與終端無關(遠程連接會通過tty打開一個bash: tty) STAT 進程運行過程中的狀態 man ps(/STATE) START 進程的啟動時間 TIME 進程占用cpu的總時間(0表示還沒超過秒) COMMAND 程序的運行指令,[中括號]屬于內核態的進程,沒有[]的是用戶態進程
STAT基本狀態 描述 R 進程運行 S 可中斷睡眠 T 進程被暫停 D 不可中斷睡眠 Z 僵尸進程 s 進程是控制進程,Ss進程的領導者、父進程 < 進程運行在高優先級上,S<優先級較高的進程 N 進程運行在低優先級上,SN優先級較低的進程 + 當前進程運行在前臺,R+表示該進程在前臺運行(正在io操作,一旦停止,數據丟失) I 進程是多線程的,SI表示進程是以線程方式運行
數字編號 信號含義 信號翻譯 1 SIGHUP 通常用來重新加載配置件,重新讀取一次參數的配置文件(類似reload) 9 SIGKILL 強制殺死進程【有狀態的服務(如:mysql)強制停止,可能會導致下次無法正常啟動】 15 SIGTERM 終止進程,默認kill使用該信息(比較平滑)
三、系統服務
"""centos6和centos7服務啟動"""
service start network
systemctl start network我們可以 cd / usr/ lib/ systemd/ system/ 下,查看到相關的系統服務配置"""如何制作系統服務?【以源碼安裝的nginx為例】"""
1 、在/ usr/ lib/ systemd/ system/ 新建一個文件touch mynginx. service
2 、在 vim mynginx. service 書寫
[ Unit]
Description= my nginx
After= network. target
[ Service]
Type= forking
ExecStart= / usr/ local/ nginx/ sbin/ nginx
ExecStop= / usr/ local/ nginx/ sbin/ nginx - s stop
ExecRestart= / usr/ local/ nginx/ sbin/ nginx - s restart
ExecReload= / usr/ local/ nginx/ sbin/ nginx - s reload
[ Install]
WantedBy= multi- user. target
3 、之后,就可以支持使用 systemctl start mynginx. service來啟動mynginx服務【可以不加后綴. service】"""查看服務狀態"""
systemctl status mynginx. service
Loaded: loaded ( / usr/ lib/ systemd/ system/ mynginx. service; disabled; vendor preset: disabled)
"""設置開機自啟動"""
systemctl enable mynginx. service
"""取消開機自啟動"""
systemctl disable mynginx. service