當前位置:首頁 » 操作系統 » linux獲取進程id

linux獲取進程id

發布時間: 2022-11-21 21:55:48

1. linux查看進程命令

1、首先打開xshell軟體,連接上linux伺服器,使用指令ps查看系統進程,參數a表示全部,u表示以用戶格式顯示,x表示進程參數。

2. linux獲取進程id和進程名稱

linux獲取進程id和進程名稱作為一個共享庫,應該需要統計使用本庫的各種應用程序的使用頻率,使用方法等信息。才能針對主要應用做出更好的改進。
www.dnjsb.com
那麼就需要記錄調用者的進程id或者進程名稱,並且保存下來。保存的動作可以採用共享內存,也可以採用文件,這個在下篇博文描述,本文描述如何獲取進程id和進程名稱。範例:#include
<stdio.h>#include
<unistd.h>#define
CFGMNG_TASK_NAME_LEN
256int
main(){
int
ret;
char
ac_tmp[CFGMNG_TASK_NAME_LEN];
ret
=
cfgmng_get_taskname(ac_tmp,
CFGMNG_TASK_NAME_LEN);
if
(0
!=
ret)
{
printf(Call
cfgmng_get_taskname
fail./n);
return
-1;
}
printf(The
running
task
name
is
%s./n,
ac_tmp);
return
0;}int
cfgmng_get_taskname(char
*ac,
int
len){
int
count
=
0;
int
nIndex
=
0;
char
chPath[CFGMNG_TASK_NAME_LEN]
=
{0};
char
cParam[100]
=
{0};
char
*cTem
=
chPath;
int
tmp_len;
pid_t
pId
=
getpid();
sprintf(cParam,/proc/%d/exe,pId);/*
printf(cParam
=
%s./n,
cParam);*/
count
=
readlink(cParam,
chPath,
CFGMNG_TASK_NAME_LEN);/*
printf(count
=
%d./n,
count);*/
if
(count
<
0
||
count
>=
CFGMNG_TASK_NAME_LEN)
{
printf(Current
System
Not
Surport
Proc./n);
return
-1;
}
else
{
nIndex
=
count
-
1;
for(
;
nIndex
>=
0;
nIndex--)
{
if(
chPath[nIndex]
==
'/'
)//篩選出進程名
{
nIndex++;
cTem
+=
nIndex;
break;
}
}
}
tmp_len
=
strlen(cTem);
if
(0
==
tmp_len)
{
printf(Get
task
fail./n);
return
-1;
}
if
(len
<=
tmp_len
+1)
{
printf(len(%d)
is
less
than
taskname(%s)'s
len./n,
len,
cTem);
return
-1;
}
strcpy(ac,
cTem);
return
0;}從上面的實驗範例可以看出,主要使用的函數是getpid獲取本進程的id,再到/proc/pid/exe
中去找到對應的進程名稱。在/proc目錄中有很多跟進程相關的東西,都可以用這種方法觸類旁通地實現。

3. Linux SHELL 獲取進程ID

slp後無論加不加& ,pid中獲取到的實際進程ID和main進程ID始終是一樣的,因為slp函數是在當前腳本進程中運行。除非你調用外部腳本。

你可以在 slp & 這句後加一句 ps >/tmp/log
然後看看slp後加&和不加&的情況下/tmp/log中顯示的進程列表有何不同,就應該明白了。區別僅在於 $! 有值和沒有值。

4. linux怎麼查詢進程和進程的id

用top -u 命令查看進程以及PID。

命令如下:

$ top -u

PID — 進程id
USER — 進程所有者
PR — 進程優先順序
NI — nice值。負值表示高優先順序,正值表示低優先順序
VIRT — 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
RES — 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
SHR — 共享內存大小,單位kb
S — 進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵屍進程
%CPU — 上次更新到現在的CPU時間佔用百分比
%MEM — 進程使用的物理內存百分比
TIME+ — 進程使用的CPU時間總計,單位1/100秒
COMMAND — 進程名稱(命令名/命令行)

5. Linux文件句柄佔用數量查看與設置

安裝lsof

yum install lsof

查看線程占句柄數

ulimit -a

查看系統打開句柄最大數量

more /proc/sys/fs/file-max

1

查看打開句柄總數

lsof|awk '{print $2}'|wc -l

1

根據打開文件句柄的數量降序排列,其中第二列為進程ID:

lsof|awk '{print $2}'|sort|uniq -c|sort -nr|more

1

根據獲取的進程ID查看進程的詳情

ps -ef |grep

1

修改linux單進程最大文件連接數

修改linux系統參數。vi /etc/security/limits.conf 添加

softnofile65536

hardnofile65536

修改以後保存,注銷當前用戶,重新登錄,執行ulimit -a ,ok ,參數生效了:

6. Linux通過進程ID查看文件路徑

1、用ps -ef |grep xxxxx 得到該進程的pid

2、輸入ls -l ,結果中 exe鏈接對應的就是可執行文件的路徑
$ ls -l /proc/18283

以下是/proc目錄中進程18283的信息

/proc/18283 pid為N的進程信息

/proc/18283/cmdline 進程啟動命令

/proc/18283/cwd 鏈接到進程當前工作目錄

/proc/18283/environ 進程環境變數列表

/proc/18283/exe 鏈接到進程的執行命令文件

/proc/18283/fd 包含進程相關的所有的文件描述符

/proc/18283/maps 與進程相關的內存映射信息

/proc/18283/mem 指代進程持有的內存,不可讀

/proc/18283/root 鏈接到進程的根目錄

/proc/18283/stat 進程的狀態

/proc/18283/statm 進程使用的內存的狀態

/proc/18283/status 進程狀態信息,比stat/statm更具可讀性

7. 如何在Windows和Linux下獲取當前線程的ID號

windows最簡單了:呼出任務管理器就成了,ctrl+shift+ESC
linux就用ps命令
ps aux
一般跟上篩選語句grep
ps aux | grep "firewalld" ##找防火牆的PID

對了,以上這個是找進程的,不是找線程的

8. linux 如何查看某個程序的進程號

方法一:PS
在ps命令中,「-T」選項可以開啟線程查看。下面的命令列出了由進程號為的進程創建的所有線程。
$
ps
-T
-p
「SID」欄表示線程ID,而「CMD」欄則顯示了線程名稱。
方法二:
Top
top命令可以實時顯示各個線程情況。要在top輸出中開啟線程查看,請調用top命令的「-H」選項,該選項會列出所有Linux線程。在top運行時,你也可以通過按「H」鍵將線程查看模式切換為開或關。
$
top
-H
要讓top輸出某個特定進程並檢查該進程內運行的線程狀況:
$
top
-H
-p

9. linux 獲取進程id 函數

linux C中,獲取當前進程id 函數為getpid() ;

頭文件:#include<unistd.h>

函數原型:pid_tgetpid(void);

函數說明:getpid()用來取得目前進程的進程id,許多程序利用取到的此值來建立臨時文件,以避免臨時文件相同帶來的問題。

返回值:目前進程的進程id

範例
#include<stdio.h>
#include<unistd.h>
main()
{
printf("pid=%d ",getpid());
}

執行:
pid=1494/*每次執行結果都不一定相同*/

10. linux 下查看進程用什麼命令

linux 下查看進程可以使用的命令:

1、ps命令查找與進程相關的PID號:

2、ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。

3、ps -A 顯示所有程序。

4、ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。

5、ps -e 此參數的效果和指定"A"參數相同。

6、ps e 列出程序時,顯示每個程序所使用的環境變數。

7、ps f 用ASCII字元顯示樹狀結構,表達程序間的相互關系。

8、ps -H 顯示樹狀結構,表示程序間的相互關系。

9、ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。

10、ps s 採用程序信號的格式顯示程序狀況。

11、ps S 列出程序時,包括已中斷的子程序資料。

12、ps -t<終端機編號> 指定終端機編號,並列出屬於該終端機的程序的狀況。

13、ps u 以用戶為主的格式來顯示程序狀況。

14、ps x 顯示所有程序,不以終端機來區分。

熱點內容
pythonlistintstr 發布:2025-05-18 00:48:18 瀏覽:604
輕應用緩存 發布:2025-05-18 00:31:02 瀏覽:251
鳥存儲空氣 發布:2025-05-18 00:20:24 瀏覽:201
linux刻錄iso 發布:2025-05-18 00:16:15 瀏覽:663
php動態參數 發布:2025-05-18 00:12:05 瀏覽:425
安卓應用上傳 發布:2025-05-18 00:11:57 瀏覽:803
數對的演算法 發布:2025-05-18 00:11:02 瀏覽:382
linuxwhile 發布:2025-05-18 00:10:08 瀏覽:144
xpftp外網 發布:2025-05-17 23:58:11 瀏覽:386
如何評價一個伺服器的性能 發布:2025-05-17 23:40:53 瀏覽:271