我将代码移至运行 Ubuntu 22 的新虚拟服务器。我的 crontab 中有以下内容(经过编辑以使名称更短),以便仅在尚未运行时才运行myCommand :
*/1 * * * * cusack flock -x -n ~myLock myCommand >> ~my.log 2>&1
当它运行时,它会放入trap: SIGINT: bad trap
我的日志文件中。它没有在旧服务器上执行此操作。难道我做错了什么?
正如上面提到的,我的目标是一次只运行一份 myCommand 副本。如果它仍然从上次开始运行,则它不应该执行任何操作。其他帖子让我相信这是执行此操作的正确方法,并且它在我的旧服务器上有效。那么为什么它会给我这个错误消息呢?
我尝试添加一个“-E 0”,认为 0 可能意味着一切正常,就像在某些情况下一样,但这不起作用。我添加了“-x”,它不起作用,也不应该改变任何东西,因为根据文档它无论如何都是默认值。