Pau*_*gas 1 command-line bash java
我有一个 Java 程序,它Runtime.getRuntime().exec()
使用以下命令在 Windows 上运行一个批处理文件:
cmd /C start "Title" "C:\Folder\file.bat"
Run Code Online (Sandbox Code Playgroud)
由于cmd /C
执行命令,Java 程序很快结束,然后终止(1)并启动批处理脚本(2)。因此进程(批处理文件)将继续独立运行。 start "Title" "C:\Folder\file.bat"
现在,假设我有一个 shell 脚本(例如file.sh
),我想从 Java 启动它并且有类似的行为。它怎么可能是Linux 中的等效命令(3)?
笔记
"Title"
) 不是必需的。启动脚本的方法是给出它的路径:
/path/to/script.sh
Run Code Online (Sandbox Code Playgroud)
如果父进程退出,要让它继续运行,您可以通过附加&
以下内容在后台启动它:
/path/to/script.sh &
Run Code Online (Sandbox Code Playgroud)
因此,例如,如果您有一个脚本调用另一个脚本,如下所示:
#!/bin/bash
script2.sh &
Run Code Online (Sandbox Code Playgroud)
你可以运行script1.sh
which 会调用script2.sh
,因为它被发送到后台,立即退出。