6
A
回答
23
它記錄在perlvar手冊頁的$?
部分。
即實際退出代碼是$? >> 8
。
1
孩子可能甚至沒有打電話給exit
。因此,$?
包含的信息不僅僅是exit
參數。
if ($? == -1 ) { die "Can't launch child: $!\n"; }
elsif ($? & 0x7F) { die "Child killed by signal ".($? & 0x7F)."\n"; }
elsif ($? >> 8 ) { die "Child exited with error ".($? >> 8)."\n"; }
else { print "Child executed successfully\n"; }
這更詳細地記錄在system
的文檔中。
相關問題
- 1. 爲什麼會在Perl中的waitpid返回錯誤的退出代碼?
- 2. 爲什麼我的powershell腳本返回錯誤的退出代碼?
- 3. 爲什麼分叉的子進程在我分叉後立即退出?
- 4. 爲什麼我的Perl CGI程序返回服務器錯誤?
- 5. 爲什麼'os.system'退出代碼爲1?
- 6. 爲什麼WIFEXITED在子進程退出後返回false?
- 7. 爲什麼val()在我的代碼中返回的值爲空?
- 8. IOCTL_DISK_GET_DRIVE_GEOMETRY的DeviceIoControl()失敗並返回錯誤代碼87.爲什麼?
- 9. 爲什麼`String#delete`在我的ruby代碼中返回錯誤?
- 10. mysql.service失敗,因爲控制進程退出,錯誤代碼
- 11. 爲什麼我的代碼返回0.00?
- 12. Perl的檢測從叉/ EXEC錯誤的退出代碼,如果孩子信號
- 13. 爲什麼在Perl中退出代碼255而不是-1?
- 14. 錯誤MSB6006:「cmd.exe」退出,代碼爲
- 15. 錯誤:ffprobe退出,代碼爲1
- 16. 錯誤「aapt.exe」退出,代碼爲1
- 17. cmd退出,錯誤代碼爲1
- 18. 爲什麼DataTable.Select()返回錯誤的行?
- 19. 爲什麼我的代碼拋出線程中止錯誤?
- 20. 在應用程序退出時指定返回錯誤代碼
- 21. 我應該爲連接錯誤返回什麼狀態代碼?
- 22. 爲什麼RegOpenKeyEx()在Vista 64位上返回錯誤代碼2?
- 23. 進程退出返回值:3221226356
- 24. 返回值與返回錯誤代碼?
- 25. 爲什麼我的函數返回錯誤的值?
- 26. 爲什麼我的bash函數返回錯誤的值?
- 27. 爲什麼我的數組在C中返回錯誤的值?
- 28. 這段代碼爲什麼返回不同的值? (C#和VB.NET)
- 29. 奇怪的SSIS錯誤(進程退出代碼255)
- 30. 在Python中退出代碼1錯誤的進程已完成
它也包含在[perldoc -f系統](http://perldoc.perl.org/functions/system.html)中。 – Ether 2010-05-25 22:54:24