はじめに | ライセンス | 動作環境 | スクリーンショット | インストール | 使い方 | マニュアル | 開発 | セキュリティ | FAQ | 変更履歴
keitairc 2.x 以降では daemonize オプションが用意されているので、これを使うのが いいでしょう。設定ファイルの中に
daemonize = 1を記述しておくと、keitairc は起動後自動的にバックグラウンドで動作します (daemon化されます)。
daemonize オプションを使わずにシェル上でバックグラウンド動作をさせるような 場合は、そのシェルの挙動に注意する必要があります。
Bourne Shell 系列のシェル (sh, bash, zsh, kshなど) を使っている場合、 デフォルトのふるまいでは、
$ ./keitaircとしてkeitaircを起動し、そのままlogoutしてしまうと、 keitaircも道連れに終了させられてしまいます。 logout後もkeitaircを動かしつづけるには、 logoutする前にシェルからkeitaircプロセスを切り離しておかなければなりません。
もっとも汎用性がある方法は、以下のようにnohupコマンドを使ってkeitaircを起動する方法です。 keitaircの出力はすべてnohup.outというファイルに保存されていきます。
$ nohup ./keitairc nohup: appending output to `nohup.out'
zshや最近のbashでは、disownコマンドで起動した子プロセスを切り離せます。
$ ./keitairc & $ jobs [1] + running keitairc $ disown $ jobs $
screenを起動しておき、 その中からkeitaircを起動する手もあります。 くわしくはUNIXの入門書を読んでみてください。
--- /usr/share/perl5/POE/Filter/IRC.pm.org 2003-05-09 18:24:31.000000000 +0900 +++ /usr/share/perl5/POE/Filter/IRC.pm 2003-05-08 22:03:33.000000000 +0900 @@ -44,7 +44,7 @@ push @$events, { name => 'ping', args => [$1] }; # PRIVMSG and NOTICE - } elsif ($line =~ /^:(¥S+) +(PRIVMSG|NOTICE) +(¥S+) +(.+)$/) { + } elsif ($line =~ /^:(¥S+) +(PRIVMSG|NOTICE) +(¥S+) +(.+)$/i) { if ($2 eq 'NOTICE') { push @$events, { name => 'notice', args => [$1, [split /,/, $3], _decolon( $4 )] };