池田@福山市%休眠中です。 From: 長南洋一 <cyoichi@xxxxxxxxxxxxxxx> Date: Mon, 14 Jun 2004 13:56:16 +0900 (JST) Message-ID: <20040614.135616.41629482.cyoichi@xxxxxxxxxxxxxxx> > どういう理屈なんでしょう。w オプションを指定しない場合、出力先が > 端末だったら、端末の横幅まで表示、出力先がパイプやファイルだったら、 > 80 字まで出力。というのが ps の仕様なんでしょうか。 なんとなく私も kterm で実験。 ---------------- ここから ---------------- $ resize COLUMNS=215; LINES=75; export COLUMNS LINES; $ ps aux | grep [x]fs xfs (略) xfs -droppriv $ ps auxw | grep [x]fs xfs (略) xfs -droppriv -daemon $ ps --width 215 aux | grep [x]fs xfs (略) xfs -droppriv -daemon ---------------- ここまで ---------------- ついでに……。 From: procps-2.0.6/ps/global.c | static void set_screen_size(void){ | struct winsize ws; | char *columns; /* Unix98 environment variable */ | char *lines; /* Unix98 environment variable */ | if(ioctl(1, TIOCGWINSZ, &ws) != -1 && ws.ws_col>0 && ws.ws_row>0){ | screen_cols = ws.ws_col; | screen_rows = ws.ws_row; | }else{ /* TODO: ought to do tgetnum("co") and tgetnum("li") now */ | screen_cols = 80; | screen_rows = 24; | } ioctl でなんかやってますね。 # man ioctl(2) ioctl_list(2) From: procps-2.0.6/ps/parser.c | static void choose_dimensions(void){ | if(w_count && (screen_cols<132)) screen_cols=132; | if(w_count>1) screen_cols=OUTBUF_SIZE; | /* perhaps --html and --null should set unlimited width */ | } w_count には w 引数の個数が入っています。 さらに詳しくは…… (^_^;; -- 池田 克巳 <ikedak@xxxxxxxxxxxxxxxx> <http://www013.upp.so-net.ne.jp/ikeda/index.html> GnuPG Fingerprint = 69BC 8241 0485 389E AA50 E795 7A32 D184 75CE EB0F