AIX:更改正在运行的程序的可执行文件

时间:2017-12-06 11:35:43

标签: process executable aix

我有一个主要的过程,分叉和使用已定义的可执行文件执行子进程。 主进程和子进程正在运行无限循环。如果他们停止,Master会重新启动它们。

现在我想更新子进程的可执行文件。类似的东西:
1.复制新的可执行文件
2.杀死子进程(当他们闲置时)
3.主进程使用新的可执行文件重新启动它们

但是简单的cp“new_exec”“old_exec”会返回错误:
“无法打开或删除包含正在运行的程序的文件。”

问题:
我可以使用“cp -f new_file old_file”吗? 这会影响旧的运行进程(在进程启动时是否所有内容都被加载到内存中)?

我在AIX上。

1 个答案:

答案 0 :(得分:0)

  

我可以使用“cp -f new_file old_file”吗?   这会影响旧的运行进程(在进程启动时是否所有内容都加载到内存中)?

'不'和'是'。但是,如果你问过如何解决这个问题,我会说:

rm /oldpath/exec
cp /newpath/exec /oldpath/exec

或者更确切地说:

cp /newpath/exec /oldpath/exec_replace
mv /oldpath/exec_replace /oldpath/exec