對於開發者來說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 即可 從 遠端 複製到 本...