Я читал о форке и, насколько я понимаю, процесс клонирован, но какой процесс? Сам скрипт или процесс, запустивший скрипт?
Например:
Я запускаю rTorrent на своей машине, и когда торрент завершается, у меня запускается скрипт. Этот скрипт извлекает данные из Интернета, поэтому его выполнение занимает несколько секунд. На это время мой rtorrent процесс завис. Итак, я сделал форк скрипта, используя следующее
my $pid = fork();
if ($pid == 0) { blah blah blah; exit 0; }
Если я запускаю этот скрипт из CLI, он возвращается в оболочку в течение секунды, пока он работает в фоновом режиме, как я и предполагал. Однако, когда я запускаю его из rTorrent, он кажется еще медленнее, чем раньше. Так что именно было разветвлено? Процесс rtorrent клонировал себя, и мой скрипт запускался в нем, или мой скрипт клонировал себя? Я надеюсь это имеет смысл.