How can I kill a Perl system call after a timeout?

后端 未结 2 1397
失恋的感觉
失恋的感觉 2021-01-21 08:15

I\'ve got a Perl script I\'m using for running a file processing tool which is started using backticks. The problem is that occasionally the tool hangs and It needs to be killed

2条回答
  •  醉话见心
    2021-01-21 08:50

    I would probably not use `` for this. Instead I would open() the command with | so that it runs asynchronously. This will return the pid. Then you can do a nonblocking wait() in a loop with sleep that after a certain number of tries without success, issues a signal to the child pid.

提交回复
热议问题