Soruma göre, bu beklenen (ve neden?) Ve/veya bu davranış başka sistemlerde de görülüyor mu?Perl exec ('/ usr/bin/php -v'), STDIN kapandığında CentOS 6.6'da kilitleniyor
Çevre:
# cat /etc/*-release
CentOS release 6.6 (Final)
...
# perl -v
This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi
...
# php -v
PHP 5.4.41 (cli) (built: May 14 2015 23:15:28)
...
mini.pl:
#!/usr/bin/perl
exec('/usr/bin/php -v');
çalıştırın o ve asılmış PHP sürecini bakın:
# perl mini.pl &
[2] 16958
[1] Killed perl mini.pl
# ps ax | grep 16958
16958 pts/2 T 0:00 /usr/bin/php -v
16960 pts/2 S+ 0:00 grep 16958
[2]+ Stopped perl mini.pl
Ama STDIN kapatırsanız:
Bu iyi çalışır#!/usr/bin/perl
close(STDIN);
exec('/usr/bin/php -v');
: 10
mini.pl
# perl mini.pl &
[1] 16976
# PHP 5.4.41 (cli) (built: May 14 2015 23:15:28)
...
[1]+ Done perl mini.pl
# ps ax | grep 16976
16978 pts/2 S+ 0:00 grep 16976
Diğer notlar:
- Mac OS X (Perl 5.18.2, php bu asılı davranışı yeniden olamaz 5.5.24)
Teşekkürler,
Ben kaynağından PHP derlemek, eğer bu asılı davranışı vs (çalışıyor bulundu 'yum install php' başına. Bu yüzden bu geçici çözümü kullanacağım. –