我有兩個進程正在運行exeAPI(在后臺運行nohup)tail -f server.log 輸出遠程服務器日志我能夠成功將輸出刷新到我的python客戶端控制臺,如下所示:@bp.route('/executeAPI', methods=['GET', 'POST'])def executeAPI(): ... (ssh set up params) print('started...') data_buffer = "" stdin_run, stdout_run, stderr_run = client.exec_command('nohup echo source "exeAPI" | nc 127.0.0.1 40000 &') stdin, stdout, stderr = client.exec_command('tail -n 1 -f /home/server.log', get_pty=True) for line in iter(lambda: stdout.readline(1024), ""): data_buffer += line print(line, end="") if not data_buffer: # never hits this if statement print('No more data') break print('finished.') client.close() return data_buffer但是,它永遠不會for loop在輸出完成后退出。for loop沒有換行符時,我該如何突圍?
遠程進程完成后,Python 中斷了 tail -f 進程
慕婉清6462132
2021-05-30 15:02:25