gpt4 book ai didi

bash - 在后台运行脚本?

转载 作者:行者123 更新时间:2023-11-29 09:41:22 25 4
gpt4 key购买 nike

简单的问题:有没有办法在没有终端运行的情况下在后台运行脚本?

更多细节和背景:我有一个应用程序读取 apps.log 文件并从中提取信息,然后根据日志中的信息提供信息和统计信息。应用程序的更新改变了 .log 文件的写入方式,并以我无法预测的方式删除信息和复制日志。

设计用于与日志交互的应用程序没有编码来检查此类更改。因此,当它在日志更改后尝试收集信息时,它会停止工作。

已经设计了一个“hack”来运行 tail -f,然后对应用程序进行 hexed 以指向新文件。(“黑客”有效)我想在后台运行尾部,这样用户就不会打断它……打断它……

- 抱歉(可能)比需要的描述长。但我认为更详细的问题会让我得到准确的答案。

提前致谢!

~¥约瑟夫

最佳答案

答案取决于您是否需要在退出 shell 后重新连接到进程。如果该过程是非交互式的并且可以简单地保持独立,那么“nohup program &”应该可以解决问题。但这不会让您在关闭 shell 后继续与程序交互。

如果它是一个交互式程序,那么最好的办法是使用屏幕或其他终端多路复用器之一。你启动“screen”,它给你一个新的 shell,在这里你可以启动任何你想要的程序,通常的方式是说“nano myfile.txt”。

当你想关闭外壳,但要让程序继续运行时,你可以按 C-a d('Detach')从屏幕上分离。它一直在运行,但在后台运行,即使您注销也会继续运行。

当您稍后想要重新连接到屏幕时,您可以打开一个新的 shell 并键入“screen -r”(重新连接),这会让您回到原来的位置。

Screen 还允许您在单个终端窗口中运行多个不同的 shell,总体来说是一个简洁的工具。检查一下。

关于bash - 在后台运行脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10274622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com