【发布时间】:2013-12-23 04:26:54
【问题描述】:
我在使用 python 编写的应用程序重命名文件时遇到了争用情况。 具体问题如下:
应用程序将分派一个 csh 脚本到网格,它会在网格中运行并尝试将文件 A.run 重命名为 A.com。
同时,当此作业通过应用程序终止时(其中一项功能是终止提交的作业),应用程序尝试将A.run 重命名为A.kil。
但是,如果两个操作同时发生,我在重命名文件时会遇到竞争情况。我试图了解文件上的csh 脚本是否可以设置任何锁,以便在此期间根本不调用 kill 函数。
关于如何解决这个问题的任何想法?
【问题讨论】:
-
kill 函数实际上是做什么的?尽可能具体。
-
kill 函数为网格发出 kill 命令(bkill/qdel 取决于选择的网格),然后它将文件从 A.run 重命名为 A.kil
-
假设你正在发送一个明智的信号,那么当你不想被杀死的时候就屏蔽掉这个信号。
-
您能否详细说明“发送合理信号”是什么意思?谢谢
-
我的意思是不能被阻止的,比如 SIGHUP 或 SIGINT。不是不能,比如 SIGKILL。