云計算 2月26號 (進程管理和常用命令)

一、權限擴展

文件權限管理之: 隱藏權限防止root誤刪除

文件屬性添加與查看
[root@linux-server ~]# touch file1 file2 file3
1.查看文件屬性
[root@linux-server ~]# lsattr file1 file2 file3 
---------------- file1
---------------- file2
---------------- file3
2.設置權限
[root@linux-server ~]# chattr +a file1  #不允許修改,只允許追加
[root@linux-server ~]# chattr +i file2  #不允許做任何操作
[root@linux-server ~]# chattr +A file3
[root@linux-server ~]# lsattr file1 file2 file3
-----a---------- file1
----i----------- file2
-------A-------- file3
i:即Immutable,系統不允許對這個文件進行任何的修改
a:即Append Only,系統只允許在這個文件之后追加數據,不允許任何覆蓋這個文件
A:即Atime,告訴系統不要修改對這個文件的最后訪問時間
測試效果
[root@linux-server ~]# echo 111 > file1  #覆蓋,只允許追加
-bash: file1: Operation not permitted
[root@linux-server ~]# rm -rf file1     #不能刪除
rm: cannot remove ‘file1’: Operation not permitted
[root@linux-server ~]# echo 111 >> file1 #追加
?
[root@linux-server ~]# echo 111 > file2
-bash: file2: Permission denied
[root@linux-server ~]# echo 111 >> file2
-bash: file2: Permission denied
[root@linux-server ~]# rm -rf file2
rm: cannot remove ‘file2’: Operation not permitted
[root@linux-server ~]# mv file2 file4
mv: cannot move ‘file2’ to ‘file4’: Operation not permitted
?
取消權限
[root@linux-server ~]# chattr -a file1 
[root@linux-server ~]# chattr -i file2
二、進程管理
關于進程 process
What is a process?  什么是進程
Process states  進程狀態
什么是進程?
進程是已啟動的可執行程序的運行實例,是程序運行的過程,動態的,有生命周期及運行狀態。程序: 二進制文件,靜態 /bin/date, /usr/sbin/httpd,/usr/sbin/sshd, /usr/sbin/nginx
查看進程 process

靜態查看進程

[root@linux-server ~]# ps aux | less
參數解釋:
ps :process nsapashot
a 只能查看系統里面運行的所有終端進程
u 顯示進程擁有者
x 顯示系統內所有進程
f 顯示進程之間的父子關系
-------------------
[root@linux-server ~]# ps aux 
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
============================================================================
USER:   #運行進程的用戶
PID:   #進程ID
%CPU:   #CPU占用率
%MEM:   #內存占用率
VSZ     進程占用的虛擬內存大小
RSS     占用的物理內存大小
STAT:  #進程狀態  ---了解
?    表示沒有占用終端
R   運行
S   可中斷睡眠 Sleep
D   不可中斷睡眠
T   停止的進程 
Z   僵尸進程
X    死掉的進程
START:  #進程的啟動時間
TIME:   #進程占用CPU的總時間
COMMAND: #進程文件,進程名
?
進程狀態--了解
Sl  以線程的方式運行
Ss  s進程的領導者,父進程
R+  +表示是前臺的進程組
S< <優先級較高的進程    
SN  N優先級較低的進程查看tty的方法:
[root@linux-server ~]# tty
? 表示這個進程開啟的時候沒有占用終端

查看進程(二)

[root@linux-server ~]# ps -ef
參數解釋:
-e 顯示所有進程
-l 長格式顯示
-f 完整格式

UID ? ? ? 用戶ID
PID ? ? ? 進程ID
PPID ? ?  父進程ID
C ? ? ? ? CPU占用率
STIME ? ? 開始時間
TTY ? ? ? 開始此進程的TTY----終端設備
TIME ? ?  此進程運行的總時間
CMD ? ? ? 命令名

查看單個PID

[root@linux-server ~]# yum install -y httpd  #安裝apache軟件
[root@linux-server ~]# systemctl start httpd #啟動
[root@linux-server ~]# cat /var/run/httpd/httpd.pid
1043

查看指定PID

[root@linux-server ~]# ps aux | grep sshd
root       1043  0.0  0.2 105996  4120 ?        Ss   01:32   0:00 /usr/sbin/sshd -D
grep:過濾

查看端口

[root@linux-server ~]# yum install lsof  #安裝軟件包
[root@linux-server ~]# lsof -i:80   #端口號,這能查看帶端口的進程
COMMAND   PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
httpd   64249   root    4u  IPv6 1373628      0t0  TCP *:http (LISTEN)
?
#注意:端口號只有整數,范圍是從0 到65535
參數解釋:
FD:文件描述符,應用程序通過文件描述符識別該文件。
DEVICE:指定磁盤的名稱
SIZE:文件的大小
#查網絡進程和正在監聽的端口
[root@linux-server ~]# netstat -lntp
參數詳解:
-a  顯示全部的進程
-u  顯示udp
-n  以數字的新式顯示協議名稱
-t   tcp
-p:顯示進程的名稱和pid
-l :只顯示正在被監聽的端口
?
參數解釋:
recv-Q:網絡接收隊列
send-Q:網路發送隊列
Foreign Address:與本機端口通信的外部請求[root@linux-server ~]# w  #看已經登陸到終端的進程信息,遠程登陸會有ip 地址
?
部分參數解釋:
USER –登錄用戶名.
TTY –登錄用戶使用的終端名.
FROM –登錄用戶來源的主機名或IP地址.
LOGIN@ –用戶登錄時間.
WHAT –用戶當前的進程及選項/參數。
動態查看進程

top、htop

[root@linux-server ~]# top  #動態顯示信息,三秒刷新一次。

在工作中必須監控的東西 load average(平均負載)等待cpu處理的隊列長度 也是個數。
1分鐘 ? 第一個數字
5分鐘 ? 第二個數字
15分鐘  第三個數字
======================
計算cpu負載:load average的三個值: 0.10, 0.16, 0.12,分別除cpu的個數,得出的值,如果值大于1那么那時候的負載高。

top操作

[root@linux-server ~]# top
h|? 幫助
> 往下翻頁
< 往上翻頁
M 按內存排序
P 按cpu排序
q 退出   
z 彩色顯示
W 保存
=============================
PR   優先級
VIRT 進程使用的虛擬內存總量,單位kb。
RES  進程使用的、未被換出的物理內存大小,單位kb。
SHR  共享內存大小,單位kb

top - 16:26:45 up 14:54, 3 users,load average: 0.05, 0.06, 0.05 Tasks: 129 total, 2 running, 127 sleeping, 0 stopped, 0 zombie

內容含義
16:26:45表示當前時間
up 14:54系統遠行時間,格式為時:分
3 users當前登陸用戶數
load average: 0.05, 0.06, 0.05系統負載,即任務隊列的平均長度。 三個數值分別為 1分鐘、5分鐘、15分鐘前到現在的平均值
129 total進程總數
2 running正在運行的進程數
127 sleeping睡眠的進程數
0 stopped停止的進程數
0 zombie僵尸進程數

%Cpu (s) : 0.2 us, 1.0 sy, 0.0 ni, 98.8 id,0.0 wa, 0.0 hi, 0.0 si, 0.0 st

內容含義
0.2 us用戶空間占用CPU百分比
1.0 sy內核空間占用CPU百分比
0.0 ni用戶進程空間內改變過優先級的進程占用CPU百分比
98.9 id空閑CPU百分比
0.0 wa等待輸入輸出的CPU時間百分比
0.0 hi硬中斷(Hardware IRQ)占用CPU的百分比
0.0 si軟中斷(Software Interrupts)占用CPU的百分比
0.0 st用于有虛擬cpu的情況,用來指示被虛擬機偷掉的cpu時間

KiB Mem : 2031912 total, 1549816 free, 155372 free, 326724 buff/cache

內容含義
2031912 total物理內存總量
1549816 free使用的物理內存總量
155372 used空閑內存總量
326724 buff/cache用作內核緩存的內存量

KiB Swap: 2097148 total, 2097148 free, 0 used, 1674648 avail Mem

內容含義
2097148 total交換區總量
2097148 free使用的交換區總量
0 used空閑交換區總量
1674648 Avail Mem緩沖的交換區總量
ni: nice值
id: cpu空閑率
wa: cpu等待,等待輸入/輸出的進程占用的 CPU 百分比。如果使用率過高,表示硬盤該換了
進程優先級 nice
nice 值越高:表示優先級越低,例如+19,該進程容易將CPU 使用量讓給其他進程。
nice 值越低:表示優先級越高,例如-20,該進程更不傾向于讓出CPU。
指令:
renice <優先級> -p <PID> # 一般不調整
進程控制

按pid殺死進程

kill,pkill
語法: kill 信號 PID ? #信號也是進程間通信的一種方式
[root@linux-server ~]# kill -l   #查看所有信號
-1   HUP  重新加載進程或者重新加載配置文件,PID不變
-9   KILL 強制殺死
-15  TERM 正常殺死(這個信號可以默認不寫)
-18  CONT 激活進程
-19  STOP 掛起進程

案例一

給vsftpd進程發送信號1,15 vsftpd信號測試

[root@linux-server ~]# yum install -y vsftpd  #安裝vsftpd
[root@linux-server ~]# systemctl start vsftpd  #啟動
[root@linux-server ~]# ps aux | grep vsftpd
root      59363  0.0  0.0  53212   576 ?        Ss   16:47   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
?
[root@linux-server ~]# kill -1 59363  #發送重啟信號,例如vsftpd的配置文件發生改變,希望重新加載
[root@linux-server ~]# ps aux | grep vsftpd
root      59363  0.0  0.0  53212   748 ?        Ss   16:47   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
[root@linux-server ~]# kill 59363 #正常殺死進程,信號為-15可以默認不寫。我們可以使用systemctl stop vsftpd 停止服務。
[root@linux-server ~]# ps aux | grep vsftpd
root      62493  0.0  0.0 112660   968 pts/0    S+   16:51   0:00 grep --color=auto vsftpd
?進程狀態解釋--了解:
+:表示運行在前臺的進程
S+:休眠狀態
T+:暫停,掛起狀態
s:父進程

案例二

給vsftpd進程發送信號-9, vsftpd信號測試

[root@linux-server ~]# systemctl start vsftpd
[root@linux-server ~]# ps aux | grep vsftpd
root      67003  0.0  0.0  53212   572 ?        Ss   16:57   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      67089  0.0  0.0 112660   972 pts/0    S+   16:57   0:00 grep --color=auto vsftpd
[root@linux-server ~]# kill -9 67003  #強制殺死,一般用于不能正常停止的情況下
[root@linux-server ~]# ps aux | grep vsftpd
root      67190  0.0  0.0 112660   972 pts/0    S+   16:57   0:00 grep --color=auto vsftpd

案例三

使用pkill 殺死vsftpd進程

[root@linux-server ~]# systemctl start vsftpd
[root@linux-server ~]# ps -aux | grep vsftpd
root      73399  0.0  0.0  53212   572 ?        Ss   17:05   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      73499  0.0  0.0 112660   968 pts/0    S+   17:05   0:00 grep --color=auto vsftpd
[root@linux-server ~]# pkill -9 vsftpd  #使用pkill可以指定進程名字
[root@linux-server ~]# ps -aux | grep vsftpd
root      73643  0.0  0.0 112660   968 pts/0    S+   17:05   0:00 grep --color=auto vsftpd
作業控制

作業控制之jobs:

作業控制指的是控制正在運行的進程的行為。比如,用戶可以掛起一個進程或者放到后臺去運行,等一會兒再繼續執行該進程。

實戰案例

[root@linux-server~]# sleep 7000 &   #&:讓命令或者程序后臺運行
[1] 5441
[root@linux-server ~]# sleep 8000    #ctrl+z 把程序放到后臺(這方法會讓程序在后臺暫停)
^Z
[2]+  Stopped                 sleep 8000
?
[root@linux-server ~]# jobs  #查看后臺的工作號
[1]-  Running                 sleep 7000 &
[2]+  Stopped                 sleep 8000
[root@linux-server ~]# bg %2  #讓暫停的程序在后臺運行,%是用來修飾job number,2就是job number。(程序的工作號)
[2]+ sleep 8000 &
[root@linux-server ~]# jobs 
[1]-  Running                 sleep 7000 &
[2]+  Running                 sleep 8000 &
?
[root@linux-server ~]# fg %1  #將后臺的程序調到前臺
sleep 7000
?
[root@linux-server ~]# jobs 
[2]+  Running                 sleep 8000 &
[root@linux-server ~]# kill -9 %2  #通過kill殺死進程
[root@linux-server ~]# jobs 
[2]+  Killed                  sleep 8000
[root@linux-server ~]# jobs #在次查看沒有了
三、常用命令
查看當前CPU負載
[root@linux-server ~]# uptime 17:35:01 up 16:02,  3 users,  load average: 0.00, 0.02, 0.05
查看內存使用
[root@linux-server ~]# free -m total        used        free      shared  buff/cache   available
Mem:           1984         154        1508           8         321        1632
Swap:          2047           0        2047
?
-m:單位M
linux啟動過程
1. 加電
2. 加載bios設置
3. 加載grub,
4. 加載內核系統到內存當中
5. 加載配置文件
6. 加載內核模塊
7. 完成相應的初始化工作和啟動相應的服務
8. 啟動系統進程
9. 出現登錄界面
10. 開機啟動完成
查看系統的版本和內核
[root@linux-server ~]# cat /etc/redhat-release  #查看版本
CentOS Linux release 7.4.1708 (Core)
[root@linux-server ~]# uname -a #看查正在運行的內核版本
Linux linux-server 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@linux-server ~]# uname -r  #查看內核版本
3.10.0-693.el7.x86_64
修改主機名
[root@linux-server ~]# hostnamectl set-hostname  xxxx   #主機名,修改完之后斷開與終端連接,然后在重新連接即可。
查看主機名
[root@linux-server ~]# hostname
跳板機(堡壘機)的作用
1 身份驗證
2 屏幕錄制,防止員工對服務器做有害的操作
3 批量操作 一次性操作2-200臺機器
安裝過操作系統嗎?怎么安裝?
1.小批量設備,使用U盤安裝
(調整bios參數從U盤啟動)
2.大批量設備搭建PXE裝機系統,從網絡批量安裝
(調整網絡啟動項,從網絡啟動)
上傳下載
# yum install -y lrzsz
上傳
# rz
下載
# sz 文件

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/718290.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/718290.shtml
英文地址,請注明出處:http://en.pswp.cn/news/718290.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【FAQ】HarmonyOS SDK 閉源開放能力 —Account Kit

1.問題描述 實時驗證和非實時驗證的區別是什么&#xff1f; 解決方案 相同點&#xff1a; “手機號快速驗證”和“實時驗證”都是為了向用戶發起獲取手機號信息的請求。最終目的都是為了獲取到手機號。這兩種獲取方式都需要完成“獲取您的手機號”的Scope權限申請。 區別&…

UDP協議和TCP協議詳解

文章目錄 應用層自定義協議 傳輸層udp協議TCP協議1.確認應答2.超時重傳3.連接管理建立連接, 三次握手斷開連接, 四次揮手tcp的狀態 4.滑動窗口5.流量控制6.擁塞控制7.延時應答8.攜帶應答9.面向字節流10.異常情況 應用層 自定義協議 客戶端和服務器之間往往要進行交互的是“結構…

Eigen-約簡,訪問和廣播

約簡化&#xff0c;訪客和廣播 一、約簡化1. 標準計算2. 布爾約減 二、訪問三、部分約簡1. 將部分約減與其他業務相結合 四、廣播1. 將廣播與其他業務相結合 一、約簡化 在Eigen中&#xff0c;約簡化是一個接受矩陣或數組并返回單個標量值的函數。最常用的約簡方法之一是.sum(…

心法利器[108] | 微調與RAG的優缺點分析

心法利器 本欄目主要和大家一起討論近期自己學習的心得和體會。具體介紹&#xff1a;倉頡專項&#xff1a;飛機大炮我都會&#xff0c;利器心法我還有。 2023年新的文章合集已經發布&#xff0c;獲取方式看這里&#xff1a;又添十萬字-CS的陋室2023年文章合集來襲&#xff0c;更…

修復通達OA 百度ueditor 文件上傳漏動

前些日子&#xff0c;服務器阿里云監控報警&#xff0c;有文件木馬文件&#xff0c;因為非常忙&#xff0c;就沒及時處理&#xff0c;直接刪除了木馬文件了事。 誰知&#xff0c;這幾天對方又上傳了木馬文件。好家伙&#xff0c;今天不花點時間修復下&#xff0c;你都傳上癮了…

PHP【swoole】

前言 Swoole官方文檔&#xff1a;Swoole 文檔 Swoole 使 PHP 開發人員可以編寫高性能高并發的 TCP、UDP、Unix Socket、HTTP、 WebSocket 等服務&#xff0c;讓 PHP 不再局限于 Web 領域。Swoole4 協程的成熟將 PHP 帶入了前所未有的時期&#xff0c; 為性能的提升提供了獨一無…

Dynamo初學嘗試梳理

學習Dynamo有一段時間了&#xff0c;最近整理了下自己的筆記&#xff0c;分享一些給初學者&#xff0c;做個備忘吧&#xff01;&#xff08;PS&#xff1a;很多資料網上都能搜到&#xff0c;我僅僅是收集整理下筆記&#xff0c;分享給大家&#xff09; 今天先簡單介紹下Dynamo…

展廳設計中多媒體的常用技術

1、互動投影 可以大大提高展廳和觀眾之間的互動體驗&#xff0c;使觀眾不僅可以享受觀看&#xff0c;還可以在輕松娛樂的氛圍中娛樂的氛圍中享受每個展覽的背景故事和內涵&#xff0c;使整個參觀過程非常輕松愉快。 2、幻影成像 可以全面展示企業產品的生產過程&#xff0c;讓觀…

STM32 (4) GPIO(1)

1.芯片的引腳分布 2.普通IO引腳的命名規則 3.IO復用 IO引腳身兼數職的現象叫做IO復用&#xff0c;可以使芯片擁有更多的功能&#xff0c;例如&#xff1a; PA9和PA10既可以用于GPIO的引腳&#xff0c;也可以用于串口或定時器的引腳 通用&#xff1a;CPU直接控制IO引腳的輸入輸…

Linux:用戶格式顯示進程

簡介 在Linux系統中&#xff0c;ps 命令用于查看當前系統中的進程。ps -aux 是該命令的一個常用選項組合&#xff0c;用于以用戶格式顯示所有進程。 ps -aux 輸出的信息內容及含義&#xff1a; USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND r…

【OpenGL編程手冊-04】詳細解釋著色器

著色器 目錄 一、說明二、著色器語言GLSL2.1 典型的著色器代碼2.2 數據類型2.2.1 向量 2.3 輸入與輸出2.3.1 頂點著色器2.3.2 片段著色器 2.4 Uniform2.5 函數后綴含義2 .6 更多屬性&#xff01; 三、我們自己的著色器類四、從文件讀取五、 編譯著色器練習 一、說明 在Hello T…

shopee、美客多、敦煌、國際站賣家如何掌握測評補單的核心要素

對于賣家而言&#xff0c;測評補單是一種經濟高效的推廣策略&#xff0c;它對于提升商品流量、優化轉化率、增強關鍵詞質量分以及加強鏈接權重都起到了積極的推動作用。然而&#xff0c;要實現自養號測評&#xff0c;需滿足以下條件&#xff1a; 首要之務&#xff0c;建立一個穩…

jenkins插件下載失敗bug

如果遇到安裝jenkins插件經常失敗并報以下類似錯誤&#xff0c;很可能是因為jenkins國外官方插件地址下載速度非常慢&#xff0c;我們可以修改為國內插件地址。 java.io.IOException: Failed to load: SCM API Plugin (scm-api 676.v886669a_199a_a_) - Jenkins (2.361.4) or h…

詳細分析Java類調用Service接口失效的注意事項(附Demo)

目錄 前言1. 問題所示2. 原理分析3. 解決方法 前言 試錯了一小時&#xff0c;發現接口返回null&#xff01;&#xff01; 最后梳理其知識點并總結其原理 1. 問題所示 接口類如下&#xff1a; public interface IInfoService extends BaseService<Info> {錯誤方式一&a…

【Zookeeper】ZooKeeper的一些重要功能和作用

&#x1f34e;個人博客&#xff1a;個人主頁 &#x1f3c6;個人專欄&#xff1a;日常聊聊 ?? 功不唐捐&#xff0c;玉汝于成 目錄 前言 正文 結語 我的其他博客 前言 隨著分布式系統的普及和應用場景的不斷增加&#xff0c;構建可靠、高效的分布式系統變得愈發重要。然…

Vue 3 中如何遷移從 Vue 2 的項目?

引言 Vue.js 是一個流行的前端框架&#xff0c;它以其響應式數據綁定和組件化系統而聞名。隨著時間的推移&#xff0c;Vue.js 也在不斷發展和改進。Vue 3 是 Vue.js 的一個重大更新&#xff0c;它帶來了許多新特性和改進&#xff0c;包括更好的性能、更小的體積、更強大的組合…

C 嵌入式系統設計模式 19:保護調用模式

本書的原著為&#xff1a;《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》&#xff0c;講解的是嵌入式系統設計模式&#xff0c;是一本不可多得的好書。 本系列描述我對書中內容的理解。本文章描述嵌入式并發和資源管理模式之五…

Cesium 3D Tiles 簡介

3D Tiles 是大規模異構 3D 地理空間數據集&#xff08;例如點云、建筑物和攝影測量&#xff09;的開放標準。3D Tiles 基于 glTF 和其他 3D 數據類型構建&#xff0c;是一種可類似二維瓦片模式的流式傳輸的優化格式&#xff0c;旨在適應當今不斷增長的 3D 地理空間數據集的渲染…

編碼規范(前端)

文章目錄 1. 文檔說明1.1 編制說明1.2 名詞解釋 2.前端研發規范2.1 HTML編碼規范2.1.1 文檔類型2.1.2 語言2.1.3 元數據2.1.4 資源加載2.1.5 頁面標題2.1.6 編碼風格2.1.7 標簽2.1.8 屬性2.1.9 語義化 2.2 CSS編碼規范2.2.1 文件引用2.2.2 命名-組成元素 知識點 1. 文檔說明 1…

【數據分享】1979~2020年MSWEP降水數據集

各位同學們好&#xff0c;今天和大伙兒分享的是1979~2020年MSWEP降水數據集。如果大家有下載處理數據等方面的問題&#xff0c;您可以私信或者評論。 Beck, H. E., E. F. Wood, M. Pan, C. K. Fisher, D. G. Miralles, A. I. J. M. van Dijk, T. R. McVicar, and R. F. Adler, …