我有一个php脚本,该脚本使用Microsoft Word COM对象处理多个Word文档,如下所示:
ps -ef | grep owner | grep -v grep | while read a b c;
do
case $a in
"owner")
kill -9 $b
;;
esac;
done
有时,Microsoft Word会由于文件损坏而挂起,并且脚本超时后,我会留下混乱的Microsoft Word实例。有没有办法在打开文件之前获取Word应用程序的特定进程ID?
无论何时发生这种情况,我的脚本都会停止工作,并且解决该问题的唯一方法是手动终止该进程或终止所有$word = new COM("Word.Application");
//would like to retrieve and save PID here, before opening and processing file
$word->Visible=false;
$word->Documents->Open($file);
//processing here
$word->Documents[1]->Close(false);
$word->Quit();
$word = NULL;
进程,这可能会对其他用户产生不利影响。