问题
执行服务器kafka-manager的重启,kill掉kafka-manager进程ProdServerStart后
$ jps
135734 ProdServerStart
139389 Jps
进入kafka-manager目录执行启动,报错
This application is already running (Or delete /var/run/${{app_name}}.pid file).
好吧,按照提示删掉/var/run/xxx.pid文件吧
然而,执行rm -rf 报错,执行cp报错,移动到别的目录报错……
bash: ${{app_name}}.pid: bad substitution
无解……网上很多说提示bad substitution错误的是因为#!/bin/bash,需要在首行指定#!/bin/bash
迷茫……启动不了kafka-manager
后来在网上看到了有人说
(
)
和
()和
()和{}的区别
解决方法
尝试不能删除的文件重命名,/var/run/${{app_name}}.pid重命名成xxxxx.pid
cd /var/run
mv ${{app_name}}.pid xxxxx.pid
成功重命名,再删除
cd /usr/local/kafka-manager
nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=8888 -Dpidfile.path=kafkamanager.pid &
重启成功!
需要注意的是 -Dhttp.port=8888 指定了8888为端口,如果不指定的话默认端口为9000
-Dpidfile.path=kafkamanager.pid可以指定目录
nohup [] &是必须的