在golang的项目中,正常情况下,我去调试时,都是用go run main.go
的命令来执行的,这样可以在命令行中查看打印的日志,但如果要把一个项目部署到服务器就必须让他自动执行,同时将日志打印到文件里存储。看了别人网上的建议,就学习了一下nohup命令
语法及描述
语法:nohup Command [ Arg … ] [ & ]
描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示”and”的符号)到命令的尾部。无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。
可以说这个命令很符合预期,同时考虑到端口占用问题,就一并写在了shell里面,以下是我的start文件:
service iptables stop |
END