#!/usr/bin/env tclsh
set dirs [glob -dir /proc * -type d *]
foreach dir $dirs {
if {[file exists $dir/cmdline]} {
set psinfo [open $dir/cmdline r]
while {1} {
if {[chan gets $psinfo line] > 0} {
puts "$dir ---> $line"
} else {
if {[chan eof $psinfo]} {
break;
} else {
puts "Something is wrong."
break;
}
}
}
chan close $psinfo
}
}
而 /proc/PID/status 就是這個 process 目前的資訊,所以我們也可以查詢 /proc/self/status 取得自己的資料:
#!/usr/bin/env tclsh
set status [open "/proc/self/status" r]
while {1} {
if {[chan gets $status line] > 0} {
puts $line
} else {
if {[chan eof $status]} {
break;
} else {
puts "Something is wrong."
break;
}
}
}
chan close $status
沒有留言:
張貼留言