nohup终端退出/断开命令/脚本后台运行
11 年 ago jony nohup终端退出/断开命令/脚本后台运行已关闭评论
Unix/Linux下一般想让某个程序在后台运行,很多都是使用&在程序结尾来让程序自动运行;但如果要想在退出终端后,程序依然还在后台运行,则要用nohup与&组合来实现。
nohup 命令
用途:不挂断地运行命令
语法:nohup Command [ Arg ... ] [& ]
描述:nohup 命令运行由 Command参数和任何相关的Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序:要运行后台中的 nohup 命令,需要添加&到命令的尾部。
比如说我们想把数据库的导出操作后台运行,并且将命令的操作输出记录到文件,那么我们可以这么做:
nohup mysqldump -uroot -pxxxxx —all-databases > ./alldatabases.sql &(xxxxx是密码)
当然如果你不想密码明文,你还可以这么做:
nohup mysqldump -uroot -pxxxxx —all-databases > ./alldatabases.sql (后面不加&符号)
执行了上述命令后,会提示叫你输入密码,输入密码后,该命令还在前台运行,但是我们的目的是后天运行该命令,这个时候你可以按下Ctrl+Z,然后在输入bg就可以达到第一个命令的效果,让该命令后台运行,同时也可以让密码隐蔽输入。
命令后台执行的结果会在命令执行的当前目录下留下一个nohup.out文件,查看这个文件就知道命令有没有执行报错等信息。