在Linux下如何限制命令执行的时间?


RT,比如要执行xx命令,但是在某些情况下该命令会hang住,所以希望如果2s内执行不完就返回,如何操作?

Linux shell

adoll8 10 years, 10 months ago

如果是在shell环境下的话,可以用 last_pid=$! 记录上一个命令的进程ID,然后在 sleep 2 && kill -9 $last_pid 来解决。
如果是C++程序的话,可以用 setrlimit 来限制子进程的运行资源(包括CPU时间),另外再加上定时器 alarm signal 来组织子进程进行无限制的sleep。原先写过篇 blog ,希望对你有帮助。

MrFion answered 10 years, 10 months ago

Your Answer