linux(Ubuntu)下如何修改脚本(在top或是ps命令中)显示的名称?

有一个java程序程序,需要长期在后台运行,我把它写成了一个开机启动脚本。截取部分脚本的内容如下

#
# main()
#

case "${1:-''}" in
  'start')
        ${JAVA_HOME}/bin/java `cat $JVM_CONFIG_FILE | xargs` -cp $D_CLASS_PATH io.cli.Main server historical > /dev/null 2>&1 &
        ;;
  *)
        echo "Usage: $SELF start|stop|restart|reload|force-reload|status"
        exit 1
        ;;
esac

exit 0

但是我使用top命令查看这个程序的时候,它在COMMAND这一栏显示的名字是java;用ps -aux 命令查看的时候它显示的COMMAND就是脚本中那个很长的java命令

我想请问一下,有没有办法在shell脚本中修改这个名字,或者是在shell脚本中设置它所运行的进程的名称,这样方便查看管理?

阅读 4.8k
1 个回答

See: https://stackoverflow.com/que...

Bash做不到,但是Zsh可以。另外,如果你的程序期望长期后台运行,那么你应该把程序做成后台服务。Ubuntu 16.04以上版本用systemd,14.04及以下使用upstart,都不难

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题