2010-12-14 51 views
0

我在AIX上擁有共享庫(.so) 我知道所有進程都在使用它。 我已經停止了所有相關流程。 我需要使用cp -p命令替換上述.so文件(使用新庫)。 但上面的命令是給錯誤:當我試圖 「無法刪除正在運行的程序」在AIX上替換共享庫

「CP -p -f」這是wroking罰款, 但我只需要使用「CP -p」 任何關於這個問題的想法都會有幫助。 謝謝。

回答

1

使用slibclean命令,然後「cp -p」正常工作。

1

的安全方式是使用中的臨時文件:

cp -p /from/libfoo.so /target/libfoo.so.tmp 
mv -f /target/libfoo.so.tmp /target/libfoo.so 

您不必停止任何程序來執行這一點;並且在目標目錄中沒有libfoo.so時。

有時也調用slibclean並不傷人,以保持內存清潔。使用'genkld | wc -l'之前和之後檢查它是否做了任何事情。