this should be the mojolicious's problem.
normal socket program is ok .
foreaxmple, the following code,
close_on_exec works.
#!/bin/env perl
use Modern::Perl;
use IO::Socket; # or Socket;
$^F=2;
# server
my $server_port = 4444;
my $server = IO::Socket::INET->new(
LocalPort => $server_port,
Type => SOCK_STREAM,
Reuse => 1,
Listen => 10)
or die "Couldn't be a tcp server on port $server_port:$!\n";
my $client;
while($client = $server->accept()){
say 'client connected ...';
system('/home/admin/t.sh &>/dev/null &');
}