为什么超时不工作linux服务器


Why timeout not working linux server

我有一个可执行文件,我想使用超时来运行它。我使用的是linux服务器和php。以下是我使用的代码

exec("timeout 2s ./exe < input > output");

它只是生成没有内容的输出文件。但如果我删除超时如下:

exec("./exe < input > output");

然后它在我的输出文件中显示了预期的输出。

为什么会发生这种情况。我使用超时的方式正确吗。如何修复?

尝试以以下方式更改命令:

exec("timeout 2s ./exe < input > output 2>&1");

可能是timeout不在PATH上。

我认为您的问题可能是系统中不存在timeout命令,或者PHP找不到它,因为它不在您的PATH中。