tee
应用程序的输出信息立即写入log.txt文件,并且也会显示在终端上
stdbuf -oL ./main 2>&1| tee -a log.txt
stdbuf -oL :将标准输出的行缓冲模式更改为无缓冲模式。这样可以确保应用程序的输出立即写入到日志文件中,而不受缓冲区的影响。
2>&1 :将标准错误输出重定向到与标准输出相同的地方
nohup
使用SSH连接到Linux服务器,并且希望在断开SSH连接后继续运行程序,在这期间如果退出服务器客户端或者网页连接,服务器Linux系统会自动关闭所有进程,程序也会随之终止运行(被挂起)使用nohup命令可以在后台运行程序,而且在SSH连接断开后仍然保持运行。
nohup your_command &
这会将your_command命令在后台运行,并将输出写入nohup.out文件,但是不会立即写入文件,需要加stdbuf -oL
nohup stdbuf -oL ./your_program arg1 arg2 arg3 | tee -a output.log &
使用
nohup
命令可以让进程在后台运行,并将其与当前终端分离,使其不受终端关闭的影响。同时,nohup
命令还会将输出重定向到指定的文件中,以便稍后查看