是否可以读取已从文件系统中删除但正在执行的 .sh?

是否可以读取已从文件系统中删除但正在执行的 .sh?

我收到了某个家伙做的一个项目,它正处于生产阶段。但那个人与项目经理和其他团队成员之间存在一些问题(态度恶劣,是个混蛋……等等)。他故意记录了错误的应用程序、错误的路径、隐藏的文件夹等。然后就离开了公司。

在研究时,我发现进程列表上有一个 .sh 正在执行。但是该 .sh 在指定路径(甚至文件系统中的另一个路径)中不再存在。

查看 .bash_history 我发现他执行了 .sh,然后删除了该文件(故意)...

为了让项目继续进行,我需要知道该文件的内容。据我了解,这个 shell 仍然存在于 RAM 中,因为它正在执行。

有机会从 RAM 中读取该文件吗?或者将其内容写入新文件?

亲切的问候。

编辑: @Artem S. Tashkinov 和@Gilles。谢谢您的回答。但这只会转储进程的输出。我需要的是 .sh 包含的代码 ando 生成该输出。

答案1

首先,请尝试通过以下方式查找脚本

sudo lsof -n | grep deleted

如果你以这种方式找到它,你可以轻松地从 /proc 转储它


如果它没有帮助参考这些答案如何将 shell 进程内存转储到磁盘:

  1. https://serverfault.com/questions/173999/dump-a-linux-processs-memory-to-file
  2. https://superuser.com/questions/401182/how-can-i-create-a-dump-file-of-a-running-process-in-linux
  3. https://shafiqvinales.wordpress.com/2017/09/14/dump-a-linux-processs-memory-to-file/

相关内容