linux系統,如何檢視程序訪問的裝置和檔案

2021-06-16 18:19:52 字數 3599 閱讀 6333

對於開發者來說linux真是乙個很好的系統,很多線索都可以從系統中找到。最近遇到乙個問題,pc端有乙個工具可以通過usb串列埠可以將資料寫入到對端的linux系統裡,但是對於開發者pc端工具是廠商提供沒有**,無法知道如何通訊的。這樣也很難知道linux系統裡那些模組參與了。這時候有個方法是很有用的,你可能不知道linux系統端總共有那些模組參與,但是你肯定能知道一兩個模組肯定參與其中了。如何檢視參與其中的程序訪問的裝置和檔案呢?

1. ps 檢視你知道的程序的pid。

2. 通過檢視proc來找 cd /proc/pid,此目錄下可以看到此程序很多關聯的資訊。

3. 例如有如下

-r-------- root     root            0 2012-09-13 03:29 auxv

-r--r--r-- root     root            0 2012-09-13 03:29 cgroup

--w------- root     root            0 2012-09-13 03:29 clear_refs

-r--r--r-- root     root            0 2012-09-13 00:11 cmdline

-rw-r--r-- root     root            0 2012-09-13 03:29 comm

-rw-r--r-- root     root            0 2012-09-13 03:29 coredump_filter

lrwxrwxrwx root     root              2012-09-13 03:29 cwd -> /

-r-------- root     root            0 2012-09-13 03:29 environ

lrwxrwxrwx root     root              2012-09-13 03:29 exe -> /system/bin/secsrv

dr-x------ root     root              2012-09-13 03:29 fd

dr-x------ root     root              2012-09-13 03:29 fdinfo

-r--r--r-- root     root            0 2012-09-13 03:29 limits

-r--r--r-- root     root            0 2012-09-13 03:29 maps

-rw------- root     root            0 2012-09-13 03:29 mem

-r--r--r-- root     root            0 2012-09-13 03:29 mountinfo

-r--r--r-- root     root            0 2012-09-13 03:29 mounts

-r-------- root     root            0 2012-09-13 03:29 mountstats

dr-xr-xr-x root     root              2012-09-13 03:29 net

dr-x--x--x root     root              2012-09-13 03:29 ns

-rw-r--r-- root     root            0 2012-09-13 03:29 oom_adj

-r--r--r-- root     root            0 2012-09-13 03:29 oom_score

-rw-r--r-- root     root            0 2012-09-13 03:29 oom_score_adj

-r--r--r-- root     root            0 2012-09-13 03:29 pagemap

-r--r--r-- root     root            0 2012-09-13 03:29 personality

lrwxrwxrwx root     root              2012-09-13 03:29 root -> /

-rw-r--r-- root     root            0 2012-09-13 03:29 sched

-r--r--r-- root     root            0 2012-09-13 03:29 smaps

-r--r--r-- root     root            0 2012-09-13 03:29 stack

-r--r--r-- root     root            0 2012-09-13 00:11 stat

-r--r--r-- root     root            0 2012-09-13 03:29 statm

-r--r--r-- root     root            0 2012-09-13 03:29 status

dr-xr-xr-x root     root              2012-09-13 03:29 task

-r--r--r-- root     root            0 2012-09-13 03:29 wchan

4.  檢視訪問了那些檔案和裝置 :cd fd

5.  檢視如下: ls -l

root@android:/proc/1317/fd # ls -l

lrwx------ root     root              2012-09-13 03:29 0 -> /dev/null

lrwx------ root     root              2012-09-13 03:29 1 -> /dev/null

lrwx------ root     root              2012-09-13 03:29 2 -> /dev/null

l-wx------ root     root              2012-09-13 03:29 3 -> /dev/log/main

l-wx------ root     root              2012-09-13 03:29 4 -> /dev/log/radio

l-wx------ root     root              2012-09-13 03:29 5 -> /dev/log/events

l-wx------ root     root              2012-09-13 03:29 6 -> /dev/log/system

lrwx------ root     root              2012-09-13 03:29 7 -> /dev/sectz

lr-x------ root     root              2012-09-13 03:29 8 -> /dev/__properties__ (deleted)

lrwx------ root     root              2012-09-13 03:29 9 -> socket:[3401]

這樣可以通過檢視proc的資訊來來找訪問的裝置和檔案,順藤摸瓜就可以找到更多的線索來解決問題。

Linux如何檢視程序 殺死程序 啟動程序

1.檢視程序 ps命令 下面的命令還沒實踐,僅僅供你參考 可以用man ps檢視格式,只不過是乙個小工具而已!ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。ps a 顯示所有程式。ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。ps e 此引數的效...

Linux如何檢視埠及程序

方法一 1.通過lsof命令檢視pid 1.1 簡單而實用的檢視 lsof i 8080 1.2 ipv4 ipv6 lsof pnl m i4 i6 也可以使用 lsof pnl m i4 i6 grep 8080 lsof list open files 是乙個列出當前系統開啟檔案的工具。在li...

linux 系統如何檢視系統日誌

mv html 路徑 從 本地 複製到 遠端 scp home daisy full.tar.gz root 172.19.2.75 home root 然後會提示你輸入另外那台172.19.2.75主機的root使用者的登入密碼,接著就開始copy了 複製目錄加引數 r 即可 從 遠端 複製到 本...