Я попробовал простой способ сделать системный вызов из Java:

package ru.yamakarov.examples;

import com.sun.jna.Library;
import com.sun.jna.Native;

public class JnaExample {
    public interface CStdLib extends Library {
        int syscall(int number, Object... args);
    }

    public static void main(String[] args) {
        CStdLib c = (CStdLib)Native.loadLibrary("c", CStdLib.class);

        // WARNING: These syscall numbers are for x86 only
        System.out.println("PID: " + c.syscall(20));
        System.out.println("UID: " + c.syscall(24));
        System.out.println("GID: " + c.syscall(47));
        c.syscall(136, "/tmp/create-new-directory-here");
    }
}

Для этого достаточно подключить JNA:

<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna</artifactId>
    <version>4.5.1</version>
</dependency>

И получить такой результат:

PID: 4816
UID: 502
GID: 20

Коды для системных вызовов на моей Macos я нашел по наводке в файле /usr/include/sys/syscall.h.

JNA вообще говоря медленный по сравнению из JNI из-за своей динамичности. Однако для экспериментов с системными вызовами очень круто и удобно. Пока не знаю зачем мне может пригодитья этот инструмент, но выглядит забавно.