我目前正在尝试使用nohup
命令生成并杀死hyperledger composer rest服务器实例。
为了生成新的超级聚合器作曲家休息服务器实例,我需要在docker cli容器中执行这样的命令。 这就是我现在这样做的方式:
# start an interactive terminal with cli container
docker exec -it cli bash
# start rest server with defined port number
nohup composer-rest-server -c <myCard> -p <myPort> &
这将返回一个与其余服务器的进程ID相关的pid。
但是,如果我这样做,
# run a process that is detached to start the rest server
docker exec -d cli composer-rest-server -c <myCard> -p <myPort> &
其他服务器将启动,但是,返回的pid是不其余服务器的pid。
为什么会这样?
PS:我需要pid以后杀死衍生的休息服务器。
答案 0 :(得分:3)
在第二个命令中,结尾&
在docker exec
本身上运行,而不是在容器内运行的进程上运行。
由于您已使用-d
选项以分离模式运行容器,为什么还要将其余服务器放在后台呢?