要实现守护进程,一种方法是按守护进程的规则去编程(本站有文章介绍过),比较麻烦;另一种方法是仍然用普通方法编程,然后用nohup命令启动程序:
nohup <程序名> &
则控制台logout后,进程仍然继续运行,起到守护进程的作用(虽然它不是严格意义上的守护进程)。
使用nohup命令后,原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用,实现了完整的守护进程功能。
eg: nohup sh import.sh $table &> $LOG_DIR/$table.log &
工作常用到的:
表示执行sql.sql文件 将日志输出到 sql.log中 2>表示错误输出 &1表示正确输出 合在一起表示无论是正确还是错误输出都输出到 sql.log内,并以后台方式执行。
nohup ./sql.sql > sql.log 2>&1 &