⑴ linux 疑問 如何查看用戶所在組,及許可權
linux查看用戶所在組及許可權的方法有:
ls -l /etc/group 查看所有的用戶組及許可權
ls -l /etc/passwd 查看所有用戶及許可權
groups 查看當前用戶所在的組
(1)linux查看ppid擴展閱讀
linux通用命令
1、date :print or set the system date and time
2、stty -a: 可以查看或者列印控制字元(Ctrl-C, Ctrl-D, Ctrl-Z等)
3、passwd: print or set the system date and time (用passwd -h查看)
4、 logout, login: 登錄shell的登錄和注銷命令
5、pwd: print working directory
6、more, less, head tail: 顯示或部分顯示文件內容
7、lp/lpstat/cancel, lpr/lpq/lprm: 列印文件
8、更改文件許可權: chmod u+x...
9、刪除非空目錄:rm -fr dir
10、拷貝目錄: cp -R dir
11、fg jobid :可以將一個後台進程放到前台
Ctrl-z 可以將前台進程掛起(suspend), 然後可以用bg jobid 讓其到後台運行
job & 可以直接讓job直接在後台運行
12、kill 的作用: send a signal to a process. eg: kill -9 發送的是SIG_KILL信號。。。 具體發送什麼信號 可以通過 man kill 查看
13、 ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session顯示的sessionid, tpgid顯示前台進程組id, comm顯示命令名稱。)
⑵ 如何在Linux中查看所有正在運行的進程
可以使用top命令。
top命令提供了運行中系統的動態實時視圖。在終端中輸入top:
第一行:
10:01:23
當前系統時間
126
days,
14:29
系統已經運行了126天14小時29分鍾(在這期間沒有重啟過)
2
users
當前有2個用戶登錄系統
load
average:
1.15,
1.42,
1.44
load
average後面的三個數分別是1分鍾、5分鍾、15分鍾的負載情況。
load
average數據是每隔5秒鍾檢查一次活躍的進程數,然後按特定演算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了。
第二行:
Tasks
任務(進程),系統現在共有183個進程,其中處於運行中的有1個,182個在休眠(sleep),stoped狀態的有0個,zombie狀態(僵屍)的有0個。
第三行:cpu狀態
6.7%
us
用戶空間佔用CPU的百分比。
0.4%
sy
內核空間佔用CPU的百分比。
0.0%
ni
改變過優先順序的進程佔用CPU的百分比
92.9%
id
空閑CPU百分比
0.0%
wa
IO等待佔用CPU的百分比
0.0%
hi
硬中斷(Hardware
IRQ)佔用CPU的百分比
0.0%
si
軟中斷(Software
Interrupts)佔用CPU的百分比
在這里CPU的使用比率和windows概念不同,如果你不理解用戶空間和內核空間,需要充充電了。
第四行:內存狀態
8306544k
total
物理內存總量(8GB)
7775876k
used
使用中的內存總量(7.7GB)
530668k
free
空閑內存總量(530M)
79236k
buffers
緩存的內存量
(79M)
第五行:swap交換分區
2031608k
total
交換區總量(2GB)
2556k
used
使用的交換區總量(2.5M)
2029052k
free
空閑交換區總量(2GB)
4231276k
cached
緩沖的交換區總量(4GB)
⑶ linux怎麼查看線程cpu
可以用下面的命令將 cpu 佔用率高的線程找出來:
ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu
這個命令首先指定參數'H',顯示線程相關的信息,格式輸出中包含:user,pid,ppid,tid,time,%cpu,cmd,然後再用%cpu欄位進行排序。這樣就可以找到佔用處理器的線程了。
直接使用 ps Hh -eo pid,tid,pcpu | sort -nk3 |tail 獲取對於的進程號和線程號,然後跳轉到3.
查看哪個進程線程佔用cpu過高; top / ps -aux, 獲得進程號
確定哪個線程佔用cpu過高,進入進程號的目錄:/proc/pid/task,
執行:grep SleepAVG **/status | sort -k2,2 | head, 確定cpu佔用較高的線程號。
使用kill -3 pid 會列印線程堆棧的情況
在 Linux 下 top 工具可以顯示 cpu 的平均利用率(user,nice,system,idle,iowait,irq,softirq,etc.),可以顯示每個 cpu 的利用率。但是無法顯示每個線程的 cpu 利用率情況,這時就可能出現這種情況,總的 cpu 利用率中 user 或 system 很高,但是用進程的 cpu 佔用率進行排序時,沒有進程的 user 或 system 與之對應。
⑷ linux問題利用ps –alx找出[watchdog/0]的pid和ppid的值
ps -alx列印出來的第三行和第四行為pid和ppid
只需要利用管道將輸出的結果通過grep進行匹配
然後再使用awk或者cut輸出第三行和第四行就可以了
比如一個簡單的例子
ps -alx | grep '\[watchdog/0\]' | awk '{print $3,$4}'
⑸ LINUX中,怎麼看某個進程的PCB
下面是亞嵌教育嵌入式系統工程師培訓課程大綱:
課程安排課程簡介第一階段
Linux操作和編程基礎 主要介紹Linux的基本命令和基礎編程知識,包括Linux的文件操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調試器和Make項目管理工具等知識。第二階段
嵌入式C語言編程基礎 主要介紹在嵌入式開發編程中C語言的重要概念和編程技巧中的重點難點,以復習串講和實例分析的形式,重點介紹包括函數與程序結構,指針、數組和鏈表,庫函數的使用等知識。第三階段
Linux上C強化編程訓練 主要包括整數演算法訓練,遞歸和棧編程訓練,位操作訓練,指針訓練,字元串訓練和常用C庫函數編程介面實踐,強化學員對Linux下基本編程開發的理解和編碼調試的能力。第四階段
Linux環境高級編程及項目開發編程實踐 主要包括系統編程(信號/系統調用/管道/FIFO/消息隊列/共享內存等),文件I/O編程(文件描述符/文件讀寫介面/原子操作/阻塞與非阻塞IO等,多任務和多線程編程(進程標識/ 用戶標識/fork與vfork/多線程概念/線程同步等),網路編程(網路基本概念/套介面編程/網路位元組次序/Client/Server結構/UDP編程);掌握Linux下Socket編程的開發流程,熟悉網路編程的調用介面函數和相關數據結構,使學員初步具備在Linux上進行系統編程開發的能力。同時綜合之前所學內容和編程技術,以小組為單位進行一個團隊合作項目的開發,考核內容包括文件I/O編程,多線程編程,網路編程和項目文檔編寫。期中考試第五階段
嵌入式處理器體系結構及編程實踐 主要介紹ARM體系結構及其基本編程知識,包括指令分類,定址方式、指令集、存儲系統、異常中斷處理、匯編語言以及C\C++和匯編語言的混合編程等知識。同時結合ARM嵌入式開發板硬體設計原理和基本硬體設計流程,分析各種外設的工作原理和驅動機制,並自己動手實踐完成一個ARM開發板上的編程大作業。第六階段
嵌入式Linux開發基礎及高級應用 主要介紹嵌入式Linux開發應用程序的基本流程和知識,包括嵌入式Linux基本概念和開發流程、Bootloader工作原理、內核裁減配置和交叉編譯、根文件系統製作、網路編程以及圖形界面和資料庫開發等知識。同時獨立完成一個基於嵌入式Linux GUI的應用編程大作業。第七階段
嵌入式 Linux驅動理論及驅動程序開發實踐 主要介紹嵌入式Linux上驅動程序開發規范,包括設備驅動程序概念、字元設備驅動程序、塊設備與網路設備、網卡驅動以及常用嵌入式設備驅動開發等知識。同時獨立實現兩種嵌入式設備驅動程序的編寫,包括驅動模塊的調試和載入以及完整的項目開發文檔的編寫。第八階段
嵌入式Linux項目團隊開發實踐鍛煉 主要包括設計並實現一個真實和完整的嵌入式項目的開發流程,涉及到數據採集、網路通訊、圖形用戶界面顯示以及嵌入式資料庫存儲系統等多種嵌入式Linux編程技術。要求學員建立起團隊開發和協同工作的企業項目開發模式的概念和流程,強化學員對編寫項目概要設計文檔和詳細設計文檔的理解,為就業前的職業技能和素質訓練做好充分准備。
培養目標:
培訓目標學習內容掌握程度掌握多種編程語言C 語言精通 ARM 匯編語言 熟悉 C++ 語言 熟悉 掌握 Linux 高級編程文件操作精通 進程/線程精通 掌握兩種嵌入式實時操作系統Linux精通 uCLinux精通 掌握兩種處理器體系結構ARM 體系結構精通 MIPS 體系結構精通 掌握ARM核處理器Samsung S3C4510精通 Samsung S3C2410精通 掌握一種 MIPS 核處理器MIPS Godson 龍芯 熟悉 MIPS Godson 龍芯 熟悉 掌握兩種硬體設計工具Candence PCB 了解 Protel 了解掌握兩種Linux下編輯軟體VI精通 EMACS 了解掌握兩種串口通訊工具超級終端 (Windows) 熟悉 MiniCOM (Linux) 熟悉 掌握三種 Flash 燒寫工具Flash Programmer (GUI) 熟悉 JFlash 燒寫軟體及原理精通 SJF系列燒寫軟體及原理精通 掌握兩種調試工具JTAG 在線調試器 熟悉 SkyEye 模擬調試工具 熟悉 掌握兩種集成開發環境ARM ADS精通 K-Develop IDE 熟悉 掌握一種源代碼版本管理工具CVS/SVN 熟悉 掌握嵌入式 Linux整體開發流程 熟悉 GNU 交叉編譯器使用Cross-compiler-gcc/g++精通 Linux Makefile 組織結構精通 Bootloader 啟動代碼u-Boot精通 RedBoot 熟悉 內核編譯配置參數設置精通 內核調試 熟悉 文件系統JFFS2 文件系統精通 NFS 文件系統精通 ROMFS 文件系統精通 EXT2 文件系統 熟悉 YAFF 文件系統 了解設備驅動程序Linux設備驅動精通 串口/GPIO精通 網卡設備驅動精通 USB設備驅動 熟悉 嵌入式圖形系統MiniGUI精通 QT/Embedded 熟悉 MicroWIN 了解嵌入式資料庫系統SQLLite精通 嵌入式應用程序開發網路通訊應用開發精通 資料庫存儲應用開發 熟悉 多媒體應用開發 熟悉 圖形用戶界面開發精通 Shell 編程技巧 熟悉 【說明】
精通:表明對於所學內容和工具的原理進行過深入分析,了解相關內容實現的具體技術細節,並掌握了相關工具的高級使用技巧。
熟悉:表明對於所學內容和工具能夠融會貫通,掌握相關內容的基本概念,並能夠熟練使用相關工具的常用技巧。
了解:表明對於所學內容和工具一般了解,能夠區別相關內容在概念上的異同,並能夠初步使用相關工具
⑹ 在Linux系統中查看進程及殺死僵屍進程的方法
ps
命令
ps
命令就是最根本相應情況下也是相當強大地進程查看命令.運用該命令可以確定有哪些進程正在運行和運行地狀態、
進程
是否結束、進程有沒有僵死、哪些進程佔用了過多地資源等等.總之大部分信息均為可以通過執行該命令得到地.
ps
命令及其參數
ps
命令最經常使用地還是用於監控後台進程地工作情況,因為後台進程是不和屏幕鍵盤這些標准輸入/輸出設
備進行通信地,所以如果需要檢測其情況,便可以運用
ps
命令了.
該命令語法格式如下:
ps
[選項]
-e
顯示所有進程,環境變數
-f
全格式
-h
不顯示標題
-l
長格式
-w
寬輸出
a
顯示終端上地所有進程,包括其他用戶地進程
r
只顯示正在運行地進程
x
顯示沒有控制終端地進程
O[+|-]
k1
[,[+|-]
k2
[,…]]
根據
SHORT
KEYS、k1、k2
中快捷鍵指定地多級排序順序顯示進程列表.
對於
ps
地不同格式都存在著默認地順序指定.這些默認順序可以被用戶地指定所覆蓋.在這裡面“+”字元是可選地,“-”
字元是倒轉指定鍵地方向.
pids
只列出進程標識符,之間運用逗號分隔.該進程列表必須在命令行參數地最後一個選項後面緊接著給出,中間不能插入
空格.比如:ps
-f1,4,5.
以下介紹長命令行選項,這些選項都運用“--”開頭:
--sort
X[+|-]
key
[,[+|-]
key
[,…]]
從
SORT
KEYS
段中選一個多字母鍵.“+”字元是可選地,因為默認地方向就是按
數字升序或者詞典順序.比如:
ps
-jax
-sort=uid,-ppid,+pid.
--help
顯示幫助信息.
--version
顯示該命令地版本信息.
在前面地選項說明中提到了排序鍵,接下來對排序鍵作進一步說明.需要注意地是排序中運用地值是
ps
運用地內部值,並非
僅用於某些輸出格式地偽值.排序鍵列表見表
4-3.
排序鍵列表
c
cmd
可執行地簡單名稱
C
cmdline
完整命令行
f
flags
長模式標志
g
pgrp
進程地組
ID
G
tpgid
控制
tty
進程組
ID
j
cutime
累計用戶時間
J
cstime
累計系統時間
k
utime
用戶時間
K
stime
系統時間
m
min_flt
次要頁錯
查找Zombie進程
首先,當桌面程序卡死的時候,你可以嘗試進入其他tty終端。切換方式:ctrl
+
alt
+
[1,2,3,4,5,6,7],7是桌面終端
其次,你可以使用top命令查看當前是否有Zombie進程
從上圖可以看到僵屍進程數,num
zombie,num大於0,則代表系統存在僵屍進程
最後,利用ps命令查找Zombie進程
復制代碼
代碼如下:
ps
-A
-ostat,ppid,pid,cmd
|
grep
-e
'^[zZ]'
示例
:
殺死Zombie進程
直接kill
-9
Zombiepid是沒有作用的,原因是:Zombie表示進程已經退出,想要清理這樣的進程,需要清除其父進程或者等很長時間後內核將其清除
復制代碼
代碼如下:
kill
-HUP
ppid
後記
不知道為什麼我注銷之後重新登錄還有這個僵屍進程,懷疑是否是LightDM的bug,不過Ubuntu12.04
desktop
display
manager就是LightDM,所以kill
-HUP至少起到了注銷的作用,不用重啟了
⑺ linux中,如何查看某個進程號下面有哪些子進程
ps -lax查看進程,以及父進程。找到自己需要查看的進程的pid,然後
ps --ppid ****
⑻ linux中 UID PID PPID 分別是什麼
具體回答如下:
UID是用戶ID,PID是進程ID,PPID是父進程ID。
⑼ 如何在Linux中查看所有正在運行的進程
使用PS命令
通常我自己使用的時候會帶上-ef參數,然後通過grep "***"查找自己關心的進程。
如ps -ef |grep 'nova'查找和Nova相關的進程
介紹下PS的用法:
1. ps 簡介
ps 命令就是最根本相應情況下也是相當強大地進程查看命令.運用該命令可以確定有哪些進程正在運行和運行地狀態、 進程 是否結束、進程有沒有僵死、哪些進程佔用了過多地資源等等.總之大部分信息均為可以通過執行該命令得到地.
2. ps 命令及其參數
ps 命令最經常使用地還是用於監控後台進程地工作情況,因為後台進程是不和屏幕鍵盤這些標准輸入/輸出設
備進行通信地,所以如果需要檢測其情況,便可以運用 ps 命令了.
該命令語法格式如下:
ps [選項]
-e 顯示所有進程,環境變數
-f 全格式
-h 不顯示標題
-l 長格式
-w 寬輸出
a
顯示終端上地所有進程,包括其他用戶地進程
r
只顯示正在運行地進程
x
顯示沒有控制終端地進程
O[+|-] k1 [,[+|-] k2 [,…]] 根據 SHORT KEYS、k1、k2 中快捷鍵指定地多級排序順序顯示進程列表.
對於 ps 地不同格式都存在著默認地順序指定.這些默認順序可以被用戶地指定所覆蓋.在這裡面「+」字元是可選地,「-」 字元是倒轉指定鍵地方向.
pids 只列出進程標識符,之間運用逗號分隔.該進程列表必須在命令行參數地最後一個選項後面緊接著給出,中間不能插入 空格.比如:ps -f1,4,5.
以下介紹長命令行選項,這些選項都運用「--」開頭:
--sort X[+|-] key [,[+|-] key [,…]] 從 SORT KEYS 段中選一個多字母鍵.「+」字元是可選地,因為默認地方向就是按 數字升序或者詞典順序.比如: ps -jax -sort=uid,-ppid,+pid.
--help 顯示幫助信息.
--version 顯示該命令地版本信息.
⑽ linux查看線程佔用cpu
top命令是最方便的,想看CPU列的話直接按字母 c 就會以cpu的使用高低來排列。 其實就每一列的第一個字母,如果想按cpu排列就按c ,按內存排列就按m。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND top [-] [d delay] [q] [c] [s] [S] [i] d 指定每兩次屏幕信息刷新之間的時間間隔。當然用戶可以使用s交互命令來改變之。 q 該選項將使top沒有任何延遲的進行刷新。如果調用程序有超級用戶許可權,那麼top將以盡可能高的優先順序運行。 S 指定累計模式。 s 使top命令在安全模式中運行。這將去除交互命令所帶來的潛在危險。 i 使top不顯示任何閑置或者僵死進程。 c 顯示整個命令行而不只是顯示命令名但是無法顯示每個線程的 cpu 利用率情況, 這時就可能出現這種情況,總的 cpu 利用率中 user 或 system 很高,但是用進程的 cpu 佔用率進行排序時,沒有進程的 user 或 system 與之對應。 可以用下面的命令將 cpu 佔用率高的線程找出來: 這個命令首先指定參數'H',顯示線程相關的信息,格式輸出中包含:user,pid,ppid,tid,time,%cpu,cmd,然後再用%cpu欄位進行排序。這樣就可以找到佔用處理器的線程了。