Net::Serverモジュールを介してTCPリスナーを実行するperlスクリプトがあります。リモートがperlサーバーに接続すると、リモートはmp3音楽ファイルのファイル名を送信して再生します。fork()を実行してからsystem('mpg123 $ filename')を呼び出すと、クライアントがハングします。子供が接続を閉じることができるように、mpg123プロセスをバックグラウンドで処理するにはどうすればよいですか?
my $pid = fork();
if (defined $pid && $pid == 0)
{
# child process -- never gets to print statement until $cmd is done
system ($cmd);
print STDERR "child launched\n";
exit (0);
}