Nie jestem przekonany, że zadziała nawet z JNI.
W przypadku "przechwytywania", gdy system operacyjny rozpoczyna nowy proces (lub zapisuje do pliku lub cokolwiek innego), należy napisać jakiś moduł sterownika lub jądra, który zostanie podłączony do systemu operacyjnego. Ten sterownik/moduł jest na pewno napisany w natywnym skompilowanym kodzie. Tak więc system operacyjny jest tutaj odpowiedzialny i ostatecznie zadzwoni do twojego natywnego modułu.
Tak więc, jak widzę, Java nie jest tu nawet zaangażowana.
To podstawowe podejście i tak. Być może jest to możliwe za pomocą czegoś w rodzaju Linux-a, takiego jak pam
, które można konfigurować tak, aby wykonywało prawie wszystko, co związane z bezpieczeństwem i uprawnieniami do pliku/procesu, i może wywoływać inne procesy w celu wykonania licytacji. Wygląda na to, że udało się uruchomić instancję JVM dla każdego nowego procesu, który system operacyjny próbuje uruchomić.
Proszę nie. Technicznie jest to możliwe nawet w PHP. – pestilence669
Prawdopodobnie byłoby tak samo z C#. Może trochę łatwiej, ale nadal musisz napisać więcej kodu niższego poziomu niż C#. –