Solaris: 稼働中プロセスの umask 値を取得する
mdbで実現可能。
# mdb –k
> ::pgrep プロセス名
> アドレス::print –t proc_t p_user.u_cmask
プロセスIDから「pid2proc」を使って検索してもよい。
> 0tプロセスID::pid2proc | ::print –t proc_t p_user.u_cmask
proc_t 全部を出力し、OSコマンドの「grep」で抽出することもできる。
> アドレス::print –t proc_t ! grep u_cmask
これらで出力されるのは、いずれも16進数の値。
「umask」などで表示される8進数の形式に直すと、下記の例だと「022」となる。
(0x12 <16進数> = 022 <8進数>)
1: # mdb -k
2: Loading modules: [ unix krtld genunix specfs dtrace cpu.generic uppc pcplusmp zfs mpt ip hook neti sctp arp usba uhci fctl nca lofs cpc random crypto fcip logindmux ptm ufs sppp nfs ]
3: > ::pgrep sshd
4: S PID PPID PGID SID UID FLAGS ADDR NAME
5: R 512 1 512 512 0 0x42000000 dff67140 sshd
6: > dff67140::print -t proc_t p_user.u_cmask
7: mode_t p_user.u_cmask = 0x12
8: > 0t512::pid2proc | ::print -t proc_t p_user.u_cmask
9: mode_t p_user.u_cmask = 0x12
10: > 0t512::pid2proc | ::print -t proc_t ! grep u_cmask
11: mode_t u_cmask = 0x12
12: > $q
13:
14: #
0 件のコメント:
コメントを投稿