如何恢复正在运行的进程被删除的二进制可执行文件

西科

我有一个进程运行很长时间。

我不小心删除了进程的二进制可执行文件。

由于该进程仍在运行并且没有受到影响,因此其他地方必须有原始二进制文件......

我怎样才能恢复它?(我用的是CentOS 7,运行过程是用C++写的)

它只能在内存中并且不可恢复,在这种情况下,您必须尝试使用​​这些文件系统恢复工具之一(或从内存中)从文件系统中恢复它。然而!

$ cat hamlet.c
#include <unistd.h>
int main(void) { while (1) { sleep(9999); } }
$ gcc -o hamlet hamlet.c
$ md5sum hamlet
30558ea86c0eb864e25f5411f2480129  hamlet
$ ./hamlet &
[1] 2137
$ rm hamlet
$ cat /proc/2137/exe > newhamlet
$ md5sum newhamlet 
30558ea86c0eb864e25f5411f2480129  newhamlet
$ 

使用解释程序,获取脚本文件可能介于棘手和不可能之间,如/proc/$$/exewill 指向perl或其他内容,并且输入文件可能已经关闭:

$ echo sleep 9999 > x
$ perl x &
[1] 16439
$ rm x
$ readlink /proc/16439/exe
/usr/bin/perl
$ ls /proc/16439/fd
0  1  2

只有标准的文件描述符是打开的,所以x已经消失了(虽然可能在文件系统上仍然存在一段时间,谁知道解释器在内存中有什么)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

UiPath进程可以转换为二进制可执行文件吗?

来自分类Dev

从JAR为AWS Lambda运行二进制可执行文件

来自分类Dev

无法在Ubuntu 12.04上运行二进制可执行文件

来自分类Dev

删除正在运行的可执行文件

来自分类Dev

可执行文件与二进制文件..它们如何工作?

来自分类Dev

如何将机器代码转换为二进制可执行文件?

来自分类Dev

如何知道我的二进制可执行文件的内存占用量

来自分类Dev

如何将机器代码转换为二进制可执行文件?

来自分类Dev

如何通过指令读取二进制可执行文件?

来自分类Dev

如何获取Linux中正在运行的进程的完整可执行文件名

来自分类Dev

与位置无关的可执行文件:什么是“主要可执行二进制文件”?

来自分类Dev

golang在正在运行的二进制文件/进程上执行命令

来自分类Dev

是否可以将可执行文件/二进制文件(已构建)作为unikernels运行?

来自分类Dev

将 C/C++ 二进制可执行文件作为 docker 容器运行

来自分类Dev

在Linux中从可执行文件到机器代码的二进制执行步骤

来自分类Dev

bash文件包含可执行文件/二进制代码

来自分类Dev

在自包含的可执行文件中提取二进制文件的位置

来自分类Dev

如何在Mac OS X的可执行文件中嵌入二进制文件的内容?

来自分类Dev

如何在目录中递归查找所有二进制可执行文件?

来自分类Dev

包含二进制可执行文件的Bash脚本

来自分类Dev

Android:在AOSP版本中包含su二进制可执行文件

来自分类Dev

将参数传递给python二进制可执行文件

来自分类Dev

从Debian到Ubuntu的二进制可执行文件?

来自分类Dev

为什么可执行文件需要二进制格式规范?

来自分类Dev

Bash:将原始二进制变量用作可执行文件吗?

来自分类Dev

使用LLVM工具将二进制数据嵌入可执行文件

来自分类Dev

可执行文件上的通配符(二进制)

来自分类Dev

在Mac上将Python3编译为二进制可执行文件

来自分类Dev

在HPUX上,如何列出所有正在运行的进程的可执行文件的完整路径?

Related 相关文章

  1. 1

    UiPath进程可以转换为二进制可执行文件吗?

  2. 2

    从JAR为AWS Lambda运行二进制可执行文件

  3. 3

    无法在Ubuntu 12.04上运行二进制可执行文件

  4. 4

    删除正在运行的可执行文件

  5. 5

    可执行文件与二进制文件..它们如何工作?

  6. 6

    如何将机器代码转换为二进制可执行文件?

  7. 7

    如何知道我的二进制可执行文件的内存占用量

  8. 8

    如何将机器代码转换为二进制可执行文件?

  9. 9

    如何通过指令读取二进制可执行文件?

  10. 10

    如何获取Linux中正在运行的进程的完整可执行文件名

  11. 11

    与位置无关的可执行文件:什么是“主要可执行二进制文件”?

  12. 12

    golang在正在运行的二进制文件/进程上执行命令

  13. 13

    是否可以将可执行文件/二进制文件(已构建)作为unikernels运行?

  14. 14

    将 C/C++ 二进制可执行文件作为 docker 容器运行

  15. 15

    在Linux中从可执行文件到机器代码的二进制执行步骤

  16. 16

    bash文件包含可执行文件/二进制代码

  17. 17

    在自包含的可执行文件中提取二进制文件的位置

  18. 18

    如何在Mac OS X的可执行文件中嵌入二进制文件的内容?

  19. 19

    如何在目录中递归查找所有二进制可执行文件?

  20. 20

    包含二进制可执行文件的Bash脚本

  21. 21

    Android:在AOSP版本中包含su二进制可执行文件

  22. 22

    将参数传递给python二进制可执行文件

  23. 23

    从Debian到Ubuntu的二进制可执行文件?

  24. 24

    为什么可执行文件需要二进制格式规范?

  25. 25

    Bash:将原始二进制变量用作可执行文件吗?

  26. 26

    使用LLVM工具将二进制数据嵌入可执行文件

  27. 27

    可执行文件上的通配符(二进制)

  28. 28

    在Mac上将Python3编译为二进制可执行文件

  29. 29

    在HPUX上,如何列出所有正在运行的进程的可执行文件的完整路径?

热门标签

归档