Showing posts with label procps. Show all posts
Showing posts with label procps. Show all posts

Wednesday, August 11, 2010

觀察某台機器對我機器的連線

給未來的裕翔

/proc/net/nf_conntrack裡面紀錄一些連線的資訊

似乎是隨時更新, 不確定是不是一直append

如果我要觀察140.114.28.18x對我的連線

每一秒更新最新狀態

watch -n1 'grep 140.114.28.18x /proc/net/nf_conntrack'

Wednesday, August 4, 2010

ps查process的context資訊

給未來的裕翔

除了file有context, 程序也是有的

當被問如和看ntpd的context時

很得意的key出以下指令^^

ps Z `pidof ntpd`

後來發現ps可以直接對process名稱進行處理

ps Z -C ntpd

這兩個印出的資訊會一樣

再來就是, 參考答案給ps -ZC ntpd

由於-Z在ps help裡面是沒有的

因此我偏向使用上面第二個

ps Z -C ntpd

Tuesday, August 3, 2010

利用ps和tail找出最大咖程式

給未來的裕翔

如果要列出所有process

ps aux

output有它的format

如果我想要自訂format, ex: pid, process name, %cpu

ps axo pid,comm,pcpu

ps axo pid,comm,%cpu 也可, 不過會多按一個鍵^^

可以發現跟ps aux比起來

少一個u, 多一個o

o是option的意思, 指定後面format用

至於那個u, 我也不知道為什麼不見了, 不過加了會錯

這樣就以顯示我要的format, 接著是排序問題, 利用--sort選項

如果要以pcpu排序

ps axo pid,comm,pcpu --sort=pcpu

預設是increasing

ps axo pid,comm,pcpu --sort=pcpu

如果要decreasing

ps axo pid,comm,pcpu --sort=-pcpu

所以如果想知道最大咖的程式

ps axo pid,comm,pcpu --sort=pcpu | tail -n1

那 ps axo pid,comm,pcpu --sort=-pcpu | head -n1 可以嗎?

不行

因為這就是output:

PID COMMAND         %CPU

這是header阿!

Tuesday, July 6, 2010

查看當下有誰在哪登入&作什麼

給未來的裕翔

如果要查看當下有誰在哪登入

可以使用w
 12:51:06 up  3:15,  5 users,  load average: 0.28, 0.40, 0.38
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ada tty2 - 12:33 16:11 0.08s 0.09s login -- ada
ada tty7 :0 09:36 3:15m 7:00 0.13s pam: gdm-passwo
ada pts/0 :0.0 12:35 0.00s 0.05s 0.03s w
ada pts/1 :0.0 12:50 2.00s 0.03s 0.02s ssh nvlab187.ee
ada pts/2 nvl05.ee.nthu.ed 12:51 2.00s 0.02s 0.02s -bash

那個TTY欄位, 如果是Ctrl + Alt + F#切換的

就會顯示tty2~tty5, 根據#的數字決定

ttr1呢? 不知道耶~ 我換不過去

tty7就是GUI桌面

在桌面叫出來的terminal屬於pts/#

遠端連過來的也是這個範疇

使用who指令也是類似功能

簡單比較:

who -> 看有誰登入

w -> 看有誰登入&作啥

簡單看開機到目前的狀況

給未來的裕翔

uptime

Tuesday, June 22, 2010

ps的固定用法

給未來的裕翔

ps的用法為了符合不同版本

導致有點給它雜亂

根據鳥哥建議

背幾個常用的就好

ps -l: 查閱自己bash上的程序

ps -lA: 所有程序

ps aux: 所有程序, 但format不一樣

ps axjf: 還有樹狀圖阿, 帥呆了!

Wednesday, March 10, 2010

看記憶體大小

給未來的裕翔

如果想看記憶體大小

比起cat /proc/meminfo

我相信free更是方便

top超簡介

給未來的裕翔

想觀察process吃資源的程度可以使用top指令

首先在命令列輸入top進入互動模式

接著

如果想以memory使用率排序的話

M

想以cpu使用率排序的話

P

想以其它的來排序的話

O

然後選一個喜歡的來排序吧~

超簡單的超簡介~!

不讓電腦回應別人的ping

給未來的裕翔

原則上不建議這樣

但依然提供方法

如果只是暫時性的想達成此功能

sysctl -w net.ipv4.icmp_echo_ignore_all=1

-w應該是把值寫入/proc/sys/net/ipv4/icmp_echo_ignore_all的意思

可用sysctl net.ipv4.icmp_echo_ignore_all來檢查有沒改成功

或是cat /proc/sys/net/ipv4/icmp_echo_ignore_all

(只想看到值是0或1而不想看到落落長的變數名稱, 加-n)

(也就是sysctl -n net.ipv4.icmp_echo_ignore_all)

如果希望開機也有效

在/etc/sysctl.conf找地方加入net.ipv4.icmp_echo_ignore_all=1

這樣下次開機就有效了

改完檔案要馬上生效的話?

sysctl -p

-p是從檔案reload資訊的意思

重開機後

把剛在sysctl.conf裡面添加的那行註解掉後執行sysctl -p

依然不能回應別人的ping

因為我只是註解掉, 沒有重新設定

所以/proc/sys/net/ipv4/icmp_echo_ignore_all的內容依然為1

(我猜此檔的內容應該是在開機時參考sysctl.conf的)

所以

再一次sysctl -w net.ipv4.icmp_echo_ignore_all=0

就回復到一開始可以回應別人ping的設定了