ps/top/jobs/crontab/trap等常用命令的總結

ps/top/kill/jobs/crontab等常用命令的總結
希望大家提些寶貴的意見。
一.進程
進程:就是內存空間中的一個或者多個線程,是用戶的代理。其他所有的進程都是由init進程所延伸出來的。用PID(進程號 1-32767)來標示各個進程。其中init的進程號爲1。
1.pstree:用來查看進程樹
clip_image002
2.ps :用來列出進程,ps的一些選項:
a 列出與終端有關的進程
x 列出與終端無關的進程
-e 列出所有的進程
u 列出與用戶有關的進程
一些常用的ps 命令:
ps aux 列出所有的與用戶有關的進程
ps –ef 和ps aux 的效果是一樣的,一般ef選項前面帶---
3.ps aux 的一些說明
clip_image004
USER: 用戶名
PID : 進程的PID號
%CPU: 進程獲得的cpu和總的cpu的比值
%MEM:進程獲得的內存和總內存的比值
VSZ :虛擬內存的大小
RSS :非虛擬內存的大小
TTY :所用的終端
STAT :進程的狀態
START :進程開始的時間
TIME :運行進程時總共獲得cpu的時間
COMMAND:每個命令的子進程
4.查找特定的進程
(1)–o 可以指定特定的字段
e.g:ps axo comm,tty |grep tty1
clip_image006
(2)pgrep 支持正則表達式
e.g:pgrep –U root
clip_image008
(3)pidof 可以精確查找其進程號
e.g:pidof sshd
clip_image010
5.終止進程
(1) kill pid 用PID來終止進程
(2) killall 進程名 終止以此進程名命名的所有進程
(3)pkill –u 指定用戶名 –i 進入交互模式
6.進程的優先級
每個進程都有一個優先級,命名爲nice值,nice值的範圍爲-20~~~19,進程的nice值越小,優先級就會越高。默認啓動的程序的優先級都爲0
clip_image012
(1)在啓動進程的時候可以指定其優先級
e.g: nice –n 5 command
(2)renice 5 -p PID 調整正在運行的進程的優先級,普通用戶只能把nice值調大,只有root用戶可以把nice值調小
.TOP
top動態顯示進程運行狀態,類似於windows下的任務管理器。
(1)top的說明:
clip_image014
“top – 07:40:54…..” 是自linux啓動後運行的時間,4個用戶正在登陸系統,平均負載值
“Task:119….” 有119個任務,有3個正在運行,116個處於睡眠狀態,0個停止,0個“殭屍”進程
“Cpu(s):……” us:用戶發起的進程所用的cpu與總cpu的比值
sy:系統發起的進程所用的cpu與總cpu的比值
ni:nice值經過改變的進程佔總進程cpu的比值
wa:(wait),當發起進程的時候,要從硬盤讀取文件,此時cpu的等待時間與運行此程序時間的比值
hi:硬件的中斷時間
si:軟件的中斷時間
st:(stole)當前系統中運行虛擬機使用的cpu
“Mem :……” 內存的使用情況
“Swap:……….” swap分區的使用情況,其中buffers爲緩衝,cached爲緩存。
PID :進程號
USER:用戶名
PR :相對nice值的偏移
NI:nice值
VIRT,RES,SHR :內存的情況
S:進程的狀態
%CPU:使用cpu 的百分比
%MEM:使用內存的百分比
TIME:總體使用cpu的時間比
COMMAND:運行進程的子進程
(2)top 的一些常用選項:
-b 進入批處理模式
-d 指定刷新時間
-n 指定刷新的次數
.信號
信號:進程之間交流的方法。信號傳送是靠名字和數字進行的。下面列出常用的命令的信號值:
可以用kill –l 查看信號的相關信息:
clip_image016
常用的有:
1 重新讀取一下配置文件
2 相當於ctrl + c
9 立刻終止子進程
15 先終止子進程,然後再終止父進程
19 相當於ctrl + z
.jobs
1 ctrl + z 把程序放在後臺運行,但是程序不會運行
2 查看放在後臺的作業:jobs
clip_image018
3 把作業調回前臺: fg %1 其中%是可以省略的
clip_image020
4.jobs的一些選項
-l 顯示器進程號
-r 查看處於運行的作業
-s 產看處於停止的作業
5.bg %1 讓程序在後臺繼續運行
6. kill %1 刪除作業,其中%是不能省略的
clip_image022
.at
at:在某個特定的時間運行的命令
1.at 支持模糊的時間匹配,比如說:tea time ,midnight
2.at 支持相對時間和絕對的時間
相對時間:e.g:at now +1min ifconfig
絕對時間:e.g:at 17:23 ifconfig
3.at的一些常用選項
-l 看計劃 也可以用atq
-f 讀取一個文件中的命令
clip_image024
clip_image026
執行命令之後,會給root用戶發一封郵件
-d 刪除尚未執行的計劃,相當於atrm
-q 指定隊列
4./etc/at.deny在此文件中可以指定不能使用at命令的用戶
5.計劃保存在/var/spool/cron中
.crontab
crontab:可以循環執行任務或者計劃,可以分爲用戶crontab和系統crontab
1. crontab是由進程crond進程發起的
2. 用戶crontab
(1) crontab –e :編輯自己的crontab
(2)格式:
M(分鐘) H(小時) D(天) M(月) DoW(一週的第幾天) command(執行的命令)
(3) 文件保存在/var/spool/cron下
(4) DoW 的值可以用逗號隔開表示離散的數值
(5) */2 表示每個兩個單位執行腳本
(6) crontab –l 查看列表
(7) crontab –r 刪除計劃
(8) crontab –U redhat 可以爲用戶指定計劃
(9) /etc/crontab.deny中可以定義拒絕哪個用戶運行crontab命令
3.系統 crontab
(1) 系統的文件在/etc/crontab,其中和用戶crontab不同的是run-parts 是系統crontab運行的腳本
4.anacron 不是crontab的替代品,而是用來彌補crontab的不足的,因爲當crontab的開發是爲服務器開發的,假如關機的話,任務就不能執行了。
(1)anacrontab的配置文件/etc/anacrontab ,配置文件中可以定義在開機多長時間來執行任務,單位爲minute
.捕捉信號
格式:trap command SIGNAL,下面用一個腳本來說明:
1.編寫一個腳本
image
2.調試,並執行
clip_image030
當輸入命令“ctrl+c”的是後會出現如圖紅線的提示,然後程序一直執行下去,不理會“ctrl+c”命令,而是會顯示“Do not interrupt me........”
.變量
1.env:顯示所有的環境變量
clip_image032
2.PATH:定義命令的搜索路徑
clip_image034
3.hash :顯示曾經執行過的命令
clip_image036
4.set 顯示所有的變量(包括環境變量和本地變量)
clip_image038
5.一些常用的變量
PS1:定義命令提示符
clip_image040
u:當前用戶
h:主機名
W:表示當前的相對路徑
.Aliases
1.定義別名
alias cls=clear
clip_image042
2.撤銷別名
unalias cls
clip_image044
.shell所用的配置文件
1.全局配置文件:/etc/profile ,/etc/profile.d/* 和/etc/bashrc
用戶配置文件:~/.bash_profile
~/.bashrc
2.login shell運行時讀取的配置文件:
/etc/profile----->~/.bash_profile-------->/etc/profile.d/*---------->~/.bashrc-------->/etc/bashrc
3.非login shell 運行時讀取的配置文件:
~/.bashrc--------->/etc/bashrc-------->/etc/profile.d/*
4.profile文件中主演方的是環境變量
bashrc 主要設置本地的變量和別名
5.兩個常用的命令
source .bashrc 重新讀取一下配置文件
. bashrc 和source的效果是一樣的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章