Bash 从脚本运行一个进程,并使用PID从另一个脚本终止它

Bash 从脚本运行一个进程,并使用PID从另一个脚本终止它,bash,shell,kill,pid,Bash,Shell,Kill,Pid,我想从脚本运行一个进程,并使用PID从另一个脚本终止它。我可以想到两件事要做,但我想你们可以帮我找到更有效的方法。第一种方法是将PID存储在temp文件中,并从另一个脚本读取它。另一种方法是将其保存为第一个脚本中的环境变量,并由另一个脚本使用。我确信有更好的方法来做这件事。我使用killall和pkill按进程名终止进程。然而,这并不奏效。我想用PID杀死它。我建议使用您提到的第一种方法。创建包含进程信息的temp.pid文件是跟踪正在运行的进程的pid的一种非常常见的方法。这在大多数语言中都很

我想从脚本运行一个进程,并使用PID从另一个脚本终止它。我可以想到两件事要做,但我想你们可以帮我找到更有效的方法。第一种方法是将PID存储在temp文件中,并从另一个脚本读取它。另一种方法是将其保存为第一个脚本中的环境变量,并由另一个脚本使用。我确信有更好的方法来做这件事。我使用killall和pkill按进程名终止进程。然而,这并不奏效。我想用PID杀死它。

我建议使用您提到的第一种方法。创建包含进程信息的temp.pid文件是跟踪正在运行的进程的pid的一种非常常见的方法。这在大多数语言中都很容易做到,而且非常简单


第二种可能会产生问题,因为根据您使用的shell,环境变量可能很难确保它是全局的且不受影响。

我建议使用您提到的第一种方法。创建包含进程信息的temp.pid文件是跟踪正在运行的进程的pid的一种非常常见的方法。这在大多数语言中都很容易做到,而且非常简单


第二个可能会产生问题,因为根据您使用的shell,该环境变量可能难以确保它是全局的且不受影响。

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

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

我同意。当父进程运行脚本时,脚本将以环境的新副本开始。当它改变一个环境变量时,父进程就看不到变化。我同意。当父进程运行脚本时,脚本将以环境的新副本开始。当它更改环境变量时,父进程将看不到更改。