在Linux上按系统调用顺序区分execve()的解释器

时间:2018-08-28 07:29:28

标签: linux shell system-calls interpreter execve

如何从execve()的strace syscall日志中知道execve()在Debian Linux上执行文件时使用的解释器?

例如,如何知道文件是作为bash脚本(#!/ bin / bash)还是python脚本(#!/ usr / bin / env python)或纯ELF文件执行的?

假定我们没有正确的文件后缀,因此我们不能简单地从execve()的参数中分辨出来。

如果无法从strace syscall日志中获取它,可以使用其他什么方法?

1 个答案:

答案 0 :(得分:0)

为此使用file

val = book.sheets[0].range('A1').current_region.value