English 中文(简体)
在PPOSIX环境中,我是如何跟踪儿童进程查阅的档案?
原标题:In a POSIX environment, how do I track files accessed by a child process?

我有自己的PopIX申请,开始儿童进程。 我要求将儿童过程读写的所有档案的名称以及任何儿童过程的档案名称通知父母程序,并告知儿童间谍以及它所装的任何有活力的图书馆。 同样,我需要监测由儿童进程等引发的所有儿童进程。

如何做到这一点?

问题回答

我对此有两个想法。

Method 1——“real way”。

我想请ptrace。 但是,使用起来并不容易。

基本上,这一呼吁就是要写一个夸张。 注:<代码>PTRACE_SYSCALL 直至下一次扫描为止的步骤。 届时,您可能能够使用更多的<代码>ptrace。 呼吁参加这一进程的佩克注意,如果它发出<条码>开放(<>>/代码>的呼吁的话。

Method 2 - The lazy, hackish way.

您可使用<代码>LD_PRELOAD环境变量。 也就是说,用你自己使用电话书写共用图书馆(例如, open(),dlopen(),增加你自己的代码并发送到正常的校准版本。 然后,你将<代码>LD_PRELOAD 环境变量放在这个共享图书馆,这样动态链接器将开始装上该数据库。

这种做法的一个不利之处是,如果一个过程知道它以这种方式得到观察,它就可以重新确定环境变量,再次加以执行,避免发现。 我认为,另一种情况是,作为安全特征,如果你重新扎根,这种环境变数就得不到满足。





相关问题
How can I load a folders files into a ListView?

I d like to have a user select a folder with the FolderBrowserDialog and have the files loaded into the ListView. My intention is to make a little playlist of sorts so I have to modify a couple of ...

File Handling Issue

I am developing a tool in c#, at one instance I start writing into a xml file continuously using my tool,when i suddenly restart my machine the particular xml file gets corrupted, what is the reason ...

C# GemBox Excel Import Error

I am trying to import an excel file into a data table using GemBox and I keep getting this error: Invalid data value when extracting to DataTable at SourceRowIndex: 1, and SourceColumnIndex: 1. As ...

Saving output of a for-loop to file

I have opened a file with blast results and printed out the hits in fasta format to the screen. The code looks like this: result_handle = open("/Users/jonbra/Desktop/my_blast.xml") from Bio.Blast ...

热门标签