Я исхожу из очень C
и абсолютно не знаком с Java. То, что я хочу сделать что-то вроде fork()
C. Я посмотрел на ProcessBuilder
, но все примеры, кажется, нерестятся внешний процесс, как в следующем примере:Создайте дочерний процесс и запустите его функцией или классом
Process p = new ProcessBuilder("/bin/chmod", "777", path).start();
p.waitFor();
Я хочу, чтобы новый дочерний процесс, чтобы начать исполняющим новая функция или метод класса.
То, что я хочу сделать, должны вести что-то вроде:
Process p = new ProcessBuilder(<CLASS_METHOD>).start();
p.waitFor();
родительский процесс выполняет следующую строку (строку, содержащую waitFor()
), где, как дочерний процесс начинает выполнение данного <CLASS_METHOD>
.
Как это сделать?
Дополнительный вопрос: Есть ли способ получить обработчик до SIGCHLD
? Я хочу создать новый дочерний процесс, когда один из дочерних процессов умирает.
Просмотрите нити или API параллелизма Java. –
@RobbyCornelissen Мне не нужны потоки. Я хочу отдельные процессы. –
Возможный родственный вопрос: http://stackoverflow.com/questions/26319804/adapting-c-fork-code-to-a-java-program –