#! perl -slw use strict; use Time::HiRes qw[ time sleep ]; use IO::Socket; $|++; my $port = 54321; socket( SOCKET, PF_INET, SOCK_DGRAM, getprotobyname('udp') ) or die "socket: $!"; setsockopt( SOCKET, SOL_SOCKET, SO_REUSEADDR, 1 ); bind( SOCKET, sockaddr_in( $port, inet_aton( 'localhost' ) ) ) or die $^E; my $true = 1; ioctl( SOCKET, 0x8004667e, \$true ); my $pid = system 1, "/perl64/bin/perl.exe", "monitored.pl",$port; my $time; while( kill 0, $pid ) { my $addr = recv( SOCKET, $time, 1024, 0 ) or select '','','',0.001; printf "\rProgress:%s\t", $time; } print "All done.";