从bash执行python并查看其登录终端

时间:2016-02-04 12:44:04

标签: python linux bash logging

我有以下内容:

  
      
  1. main.py python脚本,在运行时写入main.log。
  2.   
  3. 我正在写一个sh文件。
  4.   

我想从sh文件中执行python脚本,并在终端窗口中查看执行时写入main.log文件的所有日志。

目前我正在通过打开一个终端来执行它并执行脚本并打开另一个终端并编写

tail -f main.log.

感谢。

2 个答案:

答案 0 :(得分:1)

在您用于启动python脚本的命令之后,只需使用&即可将其作为后台进程启动。然后,您可以在同一个终端中tail -f

答案 1 :(得分:0)

我过去曾使用nohup命令基本断开与进程的连接,让它在后台运行。语法类似于nohup <program execution and options> > main.log &

然后您可以tail -f main.log观看它实时更新。

我遇到了nohup的问题,其中.sh无限运行或语法错误,所以在运行之前一定要检查是否正确。您可能不会抓住这个,除非您将语句的结尾更改为2>&1 &以使stderr重定向到stdout,但是因为您正在运行python脚本,我不认为这会对你有所帮助。

最后,您可以通过杀死命令提供给您的nohup或使用PID

来终止ps -ef | grep <main.log>创建的进程