Forum: Ruby-dev [ruby-trunk - Feature #8696][Open] Process.setproctitle

C4e88907313843cf07f6d85ba8162120?d=identicon&s=25 znz (Kazuhiro NISHIYAMA) (Guest)
on 2013-07-27 09:55
(Received via mailing list)
Issue #8696 has been reported by znz (Kazuhiro NISHIYAMA).

----------------------------------------
Feature #8696: Process.setproctitle
https://bugs.ruby-lang.org/issues/8696

Author: znz (Kazuhiro NISHIYAMA)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:


$0= と同じ機能が$変数を使わずに書けないようなので、
Process.setproctitle を追加するのはどうでしょうか?
02da662c083396641da96c1d32fc86ed?d=identicon&s=25 kosaki (Motohiro KOSAKI) (Guest)
on 2013-07-29 18:59
(Received via mailing list)
Issue #8696 has been updated by kosaki (Motohiro KOSAKI).


方向性としては賛成なのですが($0はぐぐらびりてぃ悪いから暗記しないといけないのがイケてない)、
細かい点をいくつか確認させてください。

$0と同等なら Process.name = "hoge" とかのほうが読みやすいんじゃないの?
Process.setproctitle にする意図は?文字列以外も与えたい? Windowsで動かないと暗にいいたい?
$0は書くだけじゃなくて、読むことも出来たと思うのですがそれは出来なくてもよい?
----------------------------------------
Feature #8696: Process.setproctitle
https://bugs.ruby-lang.org/issues/8696#change-40753

Author: znz (Kazuhiro NISHIYAMA)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:


$0= と同じ機能が$変数を使わずに書けないようなので、
Process.setproctitle を追加するのはどうでしょうか?
C4e88907313843cf07f6d85ba8162120?d=identicon&s=25 znz (Kazuhiro NISHIYAMA) (Guest)
on 2013-07-30 15:26
(Received via mailing list)
Issue #8696 has been updated by znz (Kazuhiro NISHIYAMA).


元々 DevelopersMeeting20130727Japan の時の雑談で出た話で、その時も

* Process.setproctitle
* Process.name, Process.name=

の両方の案がありました。

setproctitle の理由としては他の Process のメソッドも C API
そのままの名前が多いし、そのあたりのメソッドを使う人はそういうことがわかってるはずなので、C API
に近い名前の方がわかりやすい、という意見だったと思います。

Process.name{,=} の方は、以前にスレッドに名前をつけたいという話があって、そのメソッドとして Thread にも name や
name= を用意するとしたら、対応がとれてわかりやすいという話もありました。
----------------------------------------
Feature #8696: Process.setproctitle
https://bugs.ruby-lang.org/issues/8696#change-40761

Author: znz (Kazuhiro NISHIYAMA)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:


$0= と同じ機能が$変数を使わずに書けないようなので、
Process.setproctitle を追加するのはどうでしょうか?
9361878d459f1709feec780518946ee5?d=identicon&s=25 naruse (Yui NARUSE) (Guest)
on 2013-07-30 17:42
(Received via mailing list)
Issue #8696 has been updated by naruse (Yui NARUSE).


znz (Kazuhiro NISHIYAMA) wrote:
> 元々 DevelopersMeeting20130727Japan の時の雑談で出た話で、その時も
>
> * Process.setproctitle
> * Process.name, Process.name=
>
> の両方の案がありました。
>
> setproctitle の理由としては他の Process のメソッドも C API
そのままの名前が多いし、そのあたりのメソッドを使う人はそういうことがわかってるはずなので、C API に近い名前の方がわかりやすい、という意見だったと思います。
>
> Process.name{,=} の方は、以前にスレッドに名前をつけたいという話があって、そのメソッドとして Thread にも name や name=
を用意するとしたら、対応がとれてわかりやすいという話もありました。

Thread#name はそりゃそういう名前になるよねって感じなのですが、
Process.name は Process クラスの name になるのがだいぶ違和感あるんですよね。
----------------------------------------
Feature #8696: Process.setproctitle
https://bugs.ruby-lang.org/issues/8696#change-40764

Author: znz (Kazuhiro NISHIYAMA)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:


$0= と同じ機能が$変数を使わずに書けないようなので、
Process.setproctitle を追加するのはどうでしょうか?
6789224081b49822eb70f6740beb5ed5?d=identicon&s=25 knu (Akinori MUSHA) (Guest)
on 2013-07-30 19:27
(Received via mailing list)
Issue #8696 has been updated by knu (Akinori MUSHA).


getproctitle() というAPIはないので、 Process.setproctitle() でいいんじゃないかと思います。
$0はベタに Process.argv0 でどうでしょう。argv0という名前はTclに先例があります。

$0=でsetproctitle()が呼ばれるのはPerlから引き継いだ仕様だと思いますが、argv[0]を初期値とする$0のsetterがsetproctitle()であるというのは実は対称性がありません。(setproctitle()で設定される文字列の初期値はコマンドライン全体なので)

----------------------------------------
Feature #8696: Process.setproctitle
https://bugs.ruby-lang.org/issues/8696#change-40765

Author: znz (Kazuhiro NISHIYAMA)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:


$0= と同じ機能が$変数を使わずに書けないようなので、
Process.setproctitle を追加するのはどうでしょうか?
6789224081b49822eb70f6740beb5ed5?d=identicon&s=25 knu (Akinori MUSHA) (Guest)
on 2013-07-30 19:36
(Received via mailing list)
Issue #8696 has been updated by knu (Akinori MUSHA).


なお、「プロセスの名前」としては*BSDの getprogname(3)/setprogname(3)
も浮かびますが、これはerr(3)によるエラー表示などで使われるものですが、その初期値は File.basename($0)
なので$0の別名としては使えなさそうです。
----------------------------------------
Feature #8696: Process.setproctitle
https://bugs.ruby-lang.org/issues/8696#change-40766

Author: znz (Kazuhiro NISHIYAMA)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:


$0= と同じ機能が$変数を使わずに書けないようなので、
Process.setproctitle を追加するのはどうでしょうか?
F1d6cc2b735bfd82c8773172da2aeab9?d=identicon&s=25 Nobuyoshi Nakada (nobu)
on 2013-07-31 02:33
(Received via mailing list)
Issue #8696 has been updated by nobu (Nobuyoshi Nakada).


Class#nameとかぶるProcess.nameは芳しくないと思います。
Process.setproctitle()の別名ならProcess.title{,=}じゃないでしょうか。
----------------------------------------
Feature #8696: Process.setproctitle
https://bugs.ruby-lang.org/issues/8696#change-40768

Author: znz (Kazuhiro NISHIYAMA)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:


$0= と同じ機能が$変数を使わずに書けないようなので、
Process.setproctitle を追加するのはどうでしょうか?
02da662c083396641da96c1d32fc86ed?d=identicon&s=25 KOSAKI Motohiro (Guest)
on 2013-08-04 03:02
(Received via mailing list)
2013/7/30 knu (Akinori MUSHA) <knu@ruby-lang.org>:
>
> Issue #8696 has been updated by knu (Akinori MUSHA).
>
>
> getproctitle() $B$H$$$&(BAPI$B$O$J$$$N$G!"(B Process.setproctitle()
$B$G$$$$$s$8$c$J$$$+$H;W$$$^$9!#(B
> $0$B$O%Y%?$K(B Process.argv0
$B$G$I$&$G$7$g$&!#(Bargv0$B$H$$$&L>A0$O(BTcl$B$K@hNc$,$"$j$^$9!#(B

$B8=:_$9$G$K(B $PROGRAM_NAME
$B$,$"$k$o$1$G$9$,!"(Bargv0$B$O$=$l$h$jJ,$+$j$d$9$5$,0lCJMn$A$k46$8!#(B
C$B8@8l$OEvA3CN$C$F$k$h$M$H$$$&A0Ds$O$$$$$N$+$J$"(B

getproctitle()$B$H$$$&(BAPI$B$O$J$$$H$$$&$4;XE&$G$9$,!"(BRuby$B$G:G8e$K@_Dj$7$?J8;zNs$r3P$($F$*$/$@$1$J$N$G(B
$B$"$^$j>c32$K$J$k$H$O9M$($F$$$^$;$s!#(B
$B$9$4$$D9$$J8;zNs$rM?$($?;~$K(Bsetproctitle()$BB&$G>!<j$K@Z$j5M$a$k;EMM$,$"$C$?$j$9$k$HIT0lCW$K$J$j$^$9$,(B
$B<BMQ>e$OLdBj$K$J$i$J$$$G$7$g$&!#$=$l$H$b(BFreeBSD$B$N$h$&$JF,$K(Bprefix$B>!<j$K$D$1$k$h$&$J(Bsetproctitle()$B<BAu$r(B
$B?4G[$7$F$$$k!)(B

>
$0=$B$G(Bsetproctitle()$B$,8F$P$l$k$N$O(BPerl$B$+$i0z$-7Q$$$@;EMM$@$H;W$$$^$9$,!"(Bargv[0]$B$r=i4|CM$H$9$k(B$0$B$N(Bsetter$B$,(Bsetproctitle()$B$G$"$k$H$$$&$N$O<B$OBP>N@-$,$"$j$^$;$s!#!J(Bsetproctitle()$B$G@_Dj$5$l$kJ8;zNs$N=i4|CM$O%3%^%s%I%i%$%sA4BN$J$N$G!K(B

$B$3$l$O(Bargv0$B$,$h$m$7$/$J$$$H$$$&M}M3$N#1$D$K$J$C$F$$$k$H;W$$$^$9!#(B

$B$J$+$@$5$s$N;XE&$7$F$$$k(BClass.name$B$H$N>WFM$O@bF@NO$,$"$C$?$N$G!"(BProcess.title
$B$+(B
Process.program_name $B$N$I$A$i$+$,$$$$$N$G$O$J$$$G$7$g$&$+!#(B
74f896b312b786ee75a18073941e2457?d=identicon&s=25 Akinori MUSHA (Guest)
on 2013-08-05 08:16
(Received via mailing list)
At Sun, 4 Aug 2013 10:01:31 +0900,
KOSAKI Motohiro wrote:
>
> 2013/7/30 knu (Akinori MUSHA) <knu@ruby-lang.org>:
> >
> > Issue #8696 has been updated by knu (Akinori MUSHA).

$B;d$,8@$$$?$+$C$?$3$H$r@0M}$9$k$H!"(B

 1. $0
$B$N(Bgetter/setter$B$OHsBP>N$G$"$j!"!V(B$0$B$NJLL>$r:n$k!W$H$$$&H/A[$G$=(B
    $B$NOD$_$r0z$-7Q$0$N$O9%$^$7$/$J$$!#$D$^$j!"(B setproctitle()
$B$9$k(BAPI$B$H(B
    $B%*%j%8%J%k$N(B $0
$B$rJV$9(BAPI$B$OJL8D$KMQ0U$7!"A0<T$N8F=P$K$h$C$F8e<T$NCM(B
    $B$,1F6A$r<u$1$J$$$h$&$K$9$Y$-!#(B

 2. $BA0<T$O(BC$B$N(BAPI$B>e$O(B setter $B$N$_$J$N$G(B setproctitle
$B$N$^$^$G$$$$$7!"8e(B
    $B<T$O(B setter $B$J$7$N(B Process.argv0 $B$G$$$$$N$G$O$J$$$+!#(B

$B$H$$$&46$8$G$9!#(B

1$B$K$D$$$FJdB-$9$k$H!"(B setproctitle() $B$N$J$$4D6-$G$O(B argv
$B$r$$$8$C$F$$$k(B
$B$o$1$G$9$,!"$=$N>l9g$b(B ARGV
$B$O1F6A$r<u$1$^$;$s$7!"F1MM$K>o$K%*%j%8%J%k(B
$B$N(B $0 $B$NCM$rJV$9(BAPI$B$,$"$C$F$$$$$H;W$$$^$9!#(B

> > getproctitle() $B$H$$$&(BAPI$B$O$J$$$N$G!"(B Process.setproctitle()
$B$G$$$$$s$8$c$J$$$+$H;W$$$^$9!#(B
> > $0$B$O%Y%?$K(B Process.argv0
$B$G$I$&$G$7$g$&!#(Bargv0$B$H$$$&L>A0$O(BTcl$B$K@hNc$,$"$j$^$9!#(B
>
> $B8=:_$9$G$K(B $PROGRAM_NAME
$B$,$"$k$o$1$G$9$,!"(Bargv0$B$O$=$l$h$jJ,$+$j$d$9$5$,0lCJMn$A$k46$8!#(B
> C$B8@8l$OEvA3CN$C$F$k$h$M$H$$$&A0Ds$O$$$$$N$+$J$"(B

ARGV
$B$,$"$k$N$G!">/$J$/$H$b8!:w$N<j$,$+$j$,$J$$$H$$$&$3$H$O$J$5$=$&!#(B

>
getproctitle()$B$H$$$&(BAPI$B$O$J$$$H$$$&$4;XE&$G$9$,!"(BRuby$B$G:G8e$K@_Dj$7$?J8;zNs$r3P$($F$*$/$@$1$J$N$G(B
> $B$"$^$j>c32$K$J$k$H$O9M$($F$$$^$;$s!#(B
>
$B$9$4$$D9$$J8;zNs$rM?$($?;~$K(Bsetproctitle()$BB&$G>!<j$K@Z$j5M$a$k;EMM$,$"$C$?$j$9$k$HIT0lCW$K$J$j$^$9$,(B
>
$B<BMQ>e$OLdBj$K$J$i$J$$$G$7$g$&!#$=$l$H$b(BFreeBSD$B$N$h$&$JF,$K(Bprefix$B>!<j$K$D$1$k$h$&$J(Bsetproctitle()$B<BAu$r(B
> $B?4G[$7$F$$$k!)(B

$B$=$&$G$9$M!#IT2D5U$JA`:n$G$"$k$H$$$&$3$H$,8+$($J$/$J$k$H$$$&$N$O7|G0$H(B
$B$7$F$O$"$j$^$9!#(B

$B$7$+$7$=$l$h$j$b!"(B getproctitle()
$B$,$J$$$H$$$&$3$H$O$^$:=i4|CM$r$I$&$9(B
$B$k$+!"%W%m%0%i%`$NB>$NItJ,$G(B setproctitle()
$B$5$l$?$i$=$NCM$rH?1G$9$Y$-(B
$B$+!J<g$K(B Ruby
$B$rAH$_9~$s$@%W%m%0%i%`$rA[Dj$7$F$$$^$9!K$H$$$&$H$3$m$b9M(B
$B$($kI,MW$,$"$j$^$9$M!#(B
02da662c083396641da96c1d32fc86ed?d=identicon&s=25 KOSAKI Motohiro (Guest)
on 2013-08-07 03:05
(Received via mailing list)
> $B;d$,8@$$$?$+$C$?$3$H$r@0M}$9$k$H!"(B
>
>   1. $0
$B$N(Bgetter/setter$B$OHsBP>N$G$"$j!"!V(B$0$B$NJLL>$r:n$k!W$H$$$&H/A[$G$=(B
>      $B$NOD$_$r0z$-7Q$0$N$O9%$^$7$/$J$$!#$D$^$j!"(B setproctitle()
$B$9$k(BAPI$B$H(B
>      $B%*%j%8%J%k$N(B $0
$B$rJV$9(BAPI$B$OJL8D$KMQ0U$7!"A0<T$N8F=P$K$h$C$F8e<T$NCM(B
>      $B$,1F6A$r<u$1$J$$$h$&$K$9$Y$-!#(B
>
>   2. $BA0<T$O(BC$B$N(BAPI$B>e$O(B setter $B$N$_$J$N$G(B setproctitle
$B$N$^$^$G$$$$$7!"8e(B
>      $B<T$O(B setter $B$J$7$N(B Process.argv0 $B$G$$$$$N$G$O$J$$$+!#(B

$B$3$l$J$iM-$j$+$J$"!#(Bknu$B$5$s<+J,$G%3%_%C%H$7$^$9!)(B
74f896b312b786ee75a18073941e2457?d=identicon&s=25 Akinori MUSHA (Guest)
on 2013-08-07 09:54
(Received via mailing list)
At Tue, 06 Aug 2013 21:05:15 -0400,
KOSAKI Motohiro wrote:
>
> $B$3$l$J$iM-$j$+$J$"!#(Bknu$B$5$s<+J,$G%3%_%C%H$7$^$9!)(B

$B$O$$!"<j85$K=`Hw$G$-$F$$$k$N$G!"0[O@$,$J$1$l$P8e$[$I!#(B
9361878d459f1709feec780518946ee5?d=identicon&s=25 naruse (Yui NARUSE) (Guest)
on 2013-08-07 17:18
(Received via mailing list)
Issue #8696 has been updated by naruse (Yui NARUSE).

Category set to core
Status changed from Closed to Assigned
Assignee set to matz (Yukihiro Matsumoto)
Target version set to current: 2.1.0

$B$3$NDI2C!"$^$D$b$H$5$s$NN;2r<h$C$F$^$;$s$h$M(B?
core$B%/%i%9$N(BAPI$B$NJQ99$O:#8e$O$^$D$b$H$5$s$NN;2r$rF@$F$+$i$K$7$F2<$5$$!#(B

$B$3$NDs0F$I$&;W$$$^$9$+!)!d$^$D$b$H$5$s(B
----------------------------------------
Feature #8696: Process.setproctitle
https://bugs.ruby-lang.org/issues/8696#change-40971

Author: znz (Kazuhiro NISHIYAMA)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: current: 2.1.0


$0= $B$HF1$85!G=$,(B$$BJQ?t$r;H$o$:$K=q$1$J$$$h$&$J$N$G!"(B
Process.setproctitle $B$rDI2C$9$k$N$O$I$&$G$7$g$&$+(B?
9361878d459f1709feec780518946ee5?d=identicon&s=25 naruse (Yui NARUSE) (Guest)
on 2013-08-08 19:54
(Received via mailing list)
Issue #8696 has been updated by naruse (Yui NARUSE).

Priority changed from Normal to High


----------------------------------------
Feature #8696: Process.setproctitle
https://bugs.ruby-lang.org/issues/8696#change-41003

Author: znz (Kazuhiro NISHIYAMA)
Status: Assigned
Priority: High
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: current: 2.1.0


$0= と同じ機能が$変数を使わずに書けないようなので、
Process.setproctitle を追加するのはどうでしょうか?
0ec4920185b657a03edf01fff96b4e9b?d=identicon&s=25 matz (Yukihiro Matsumoto) (Guest)
on 2013-08-31 08:11
(Received via mailing list)
Issue #8696 has been updated by matz (Yukihiro Matsumoto).


この提案そのものには賛成なんですが、プラットフォーム依存になりそうなので、環境依存、処理系依存が明記されれば。

まつもと ゆきひろ /:|)


----------------------------------------
Feature #8696: Process.setproctitle
https://bugs.ruby-lang.org/issues/8696#change-41471

Author: znz (Kazuhiro NISHIYAMA)
Status: Assigned
Priority: High
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: current: 2.1.0


$0= と同じ機能が$変数を使わずに書けないようなので、
Process.setproctitle を追加するのはどうでしょうか?
6789224081b49822eb70f6740beb5ed5?d=identicon&s=25 knu (Akinori MUSHA) (Guest)
on 2013-08-31 10:27
(Received via mailing list)
Issue #8696 has been updated by knu (Akinori MUSHA).

Assignee changed from matz (Yukihiro Matsumoto) to knu (Akinori MUSHA)

プラットフォーム依存についてはすでに書いてありますが、
サポートされない環境でも例外は発生しない旨、追記しておきます。
----------------------------------------
Feature #8696: Process.setproctitle
https://bugs.ruby-lang.org/issues/8696#change-41484

Author: znz (Kazuhiro NISHIYAMA)
Status: Assigned
Priority: High
Assignee: knu (Akinori MUSHA)
Category: core
Target version: current: 2.1.0


$0= と同じ機能が$変数を使わずに書けないようなので、
Process.setproctitle を追加するのはどうでしょうか?
6789224081b49822eb70f6740beb5ed5?d=identicon&s=25 knu (Akinori MUSHA) (Guest)
on 2013-09-02 08:37
(Received via mailing list)
Issue #8696 has been updated by knu (Akinori MUSHA).

Status changed from Assigned to Closed

rdocを更新しました。
----------------------------------------
Feature #8696: Process.setproctitle
https://bugs.ruby-lang.org/issues/8696#change-41528

Author: znz (Kazuhiro NISHIYAMA)
Status: Closed
Priority: High
Assignee: knu (Akinori MUSHA)
Category: core
Target version: current: 2.1.0


$0= と同じ機能が$変数を使わずに書けないようなので、
Process.setproctitle を追加するのはどうでしょうか?
This topic is locked and can not be replied to.