Anda harus menulis kompiler Anda sendiri.
Pertimbangkan:Tidak ada OS normal yang mendukung apa yang Anda inginkan. Anda ingin kedua executable berjalan di dalam satu proses, namun proses itu mungkin atau mungkin tidak melakukan panggilan OS tergantung pada beberapa keanehan di dalam proses yang sama sekali tidak dipahami oleh OS.
Ini bukan lagi masalah dengan kompiler khusus Anda, karena ia tidak akan membuat instruksi yang mengganggu. Ini mirip dengan Java dan .Net, yang juga mencegah panggilan OS semacam itu di luar kendali mereka.
Solusi portabel:Google Native Client
Salah satu kemungkinan solusi Linux:
- Membuat profil AppArmor dengan "topi" ("topi" adalah konfigurasi kotak pasir tempat aplikasi dapat beralih secara terprogram dengan libapparmor),
- minta aplikasi utama membuat "pipa",
- memiliki aplikasi utama "garpu",
- ubah menjadi "topi" yang sesuai dengan aplikasi anak,
- "exec" aplikasi anak,
- aplikasi utama dan aplikasi anak berkomunikasi melalui "pipa" yang dibuat sebelumnya.
Bagaimana cara mendapatkan direktori absolut dari sebuah file di bash?
Bagaimana saya bisa memeriksa jumlah hit untuk setiap aturan di iptables?