我有一个大的项目,它会将一个可执行文件(我们称之为问候语 )加载到内存中,但由于某种原因(例如,在不同的目录下有许多叫做问候语的文件),我需要知道内存中的进程是否正是我想用。
我知道如何比较两个文件:diff,cmp,cksum等。 但有什么办法比较内存中的进程与硬盘上的可执行文件?
根据这个答案,你可以从proc文件系统中得到二进制内存版本的内容。 我认为你可以在原来的和内存版本中使用。
根据/ proc的手册页,在Linux 2.2和更高版本中,该文件是包含执行命令的实际路径名的符号链接。 显然,二进制文件被加载到内存中,/ proc / [pid] / exe指向内存中二进制文件的内容。