Re: [问题] sleep与-e搭配应用

楼主: lgen7604   2025-06-19 05:05:21
这个 script 的设计不好,如果档案不存在,无穷循环有可能卡死。
建议要设计合理的 timeout 机制,范例如下:
#!/usr/bin/env perl
my $timer = 30; # timeout after 30 min
while (1) {
if (-e $ARGV[0]) {
printf("File exist.\n");
exit 0;
}
else {
if ($timer == 0) {
print "File does not exist, timeout.\n";
exit 1;
}
sleep(60);
$timer
作者: jacky1989   2025-06-21 19:19:00
但档案一开始就是不存在的,需要等另一只程式创建才可以,这样就得一直在等不是吗?
楼主: lgen7604   2025-07-25 23:37:00
你有看懂吗?每一分钟检查档案,检查到档案就算成功,如果检查30次(经过30分钟)都没有看到档案,程式timeout这样才不会永远等下去(你原本程式卡死的问题)你应该要设计一个合理的timeout时间,不是永远一直等

Links booklink

Contact Us: admin [ a t ] ucptt.com