How to start a windows process in git-bash with a name
我想在一个带有进程名称的新窗口中从 git bash 启动一个 java 应用程序。
例如,在 win cmd 中它是简单的
但在 git bash 我得到一个错误
旁注
- windows 10 环境
- 我使用 git bash 作为我的主要终端,因为那里有可用的 unix 命令以及提示中可见的 git 存储库状态。
- 命名该进程的主要原因是我有一个启动多个 java 应用程序的 shell 脚本,以及一个将它们全部杀死的 shell 脚本。对于 kill 部分,我需要该进程的 PID
-
我在 springhow.com 上遵循了这个很棒的教程,但是这个过程没有在新窗口中启动,如果我尝试使用
start 它会给出错误的 pid(不是 java 应用程序的 pid)所以我尝试了解决方案这个stackoverflow答案,但它在bash中不起作用
如果有帮助,这是启动实例的脚本(主要来自上面的链接):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #!/bin/bash #------ DECLARATIONS app_path=./target/1.0-SNAPSHOT.jar pidFile=./pid.file instances=1 #------ BUILD IF NEEDED if [ ! -f $app_path ]; then echo Building project... mvn clean package else echo Using existing project build fi #------ UPDATING INSTANCES COUNT FROM PARAM IF PRESENT if [ ! -z"$1" ]; then instances=$1 fi echo Starting"$instances""$app_path" instances #------ CLEARING PID FILE > $pidFile #------ STARTING INSTANCES for (( i = 0; i < instances; i++ )); do start java -jar $app_path & echo $! >> $pidFile done echo NOTES: echo" " Process ids for"$app_path" instances stored in"$pidFile" echo" " To stop instances type Ctrl+C on each or run stop_multi_apps.sh script that will stop processes with ids from"$pidFile" |
您可以使用 cmd 来完成此操作。
1 | cmd.exe /c start "appname""app" |
在这种情况下你不需要
如果您想在 git bash 中启动您的程序,您可以执行以下操作:
1 | cmd.exe /c start "appname""C:\\path\\to\\git\\bash -c <command>" |