2013-06-20 28 views
1

我想从脚本运行一个进程并使用PID从另一个脚本中杀死它。我可以想到两件事情,但我认为你可以帮助我更有效地做到这一点。第一个是将PID存储在临时文件中,并从另一个脚本中读取它。另一种方法是将其作为第一个脚本的环境变量保存并由其他脚本使用。我很确定有这样做的更好方法。我用killall和pkill通过进程名杀死进程。但是,这并不是很好。我想用PID来杀死它。从脚本运行一个进程,并使用PID从另一个脚本中杀死它

回答

1

我会建议使用你提到的第一种方法。使用进程信息创建临时.pid文件是一种非常常见的跟踪正在运行的进程的PID的方法。在大多数语言中很容易,而且非常简单。

第二个可能会产生一个问题,因为根据您使用的shell,该环境变量可能很难确保它是全局性的而未被触及。

+1

我同意。当父进程运行脚本时,该脚本以环境的全新副本开始。当它更改环境变量时,父进程将不会看到更改。 – user829755

0

创建PID或.lck文件始终是最佳做法。您是标识符的所有者以及脚本,因此您可以计划防止其他问题蔓延,例如另一个用户尝试启动相同的应用程序。

相关问题