par_2jobs ### Test similar example as from man page - run 2 jobs simultaneously par_2jobs Expect done: 1 2 5 3 4 par_2jobs Scheduling 5 par_2jobs starting 5 par_2jobs Scheduling 1 par_2jobs starting 1 par_2jobs Scheduling 2 par_2jobs done 1 par_2jobs starting 2 par_2jobs Scheduling 3 par_2jobs done 2 par_2jobs starting 3 par_2jobs Scheduling 4 par_2jobs done 5 par_2jobs starting 4 par_2jobs done 3 par_2jobs done 4 par_bug56403 bug #56403: --pipe block by time. par_bug56403 1 job1a par_bug56403 2 job2b par_bug56403 3 job3cjob3d par_bug56403 1 job1a par_bug56403 1 job1b par_bug56403 2 job2cjob2d par_change_content_--jobs_filename ### Test of -j filename with file content changing (missing -k is correct) par_change_content_--jobs_filename sleep 3.3 par_change_content_--jobs_filename sleep 0.1 par_change_content_--jobs_filename sleep 0.2 par_change_content_--jobs_filename sleep 0.3 par_change_content_--jobs_filename sleep 0.4 par_change_content_--jobs_filename sleep 0.5 par_change_content_--jobs_filename sleep 0.6 par_change_content_--jobs_filename sleep 0.7 par_change_content_--jobs_filename sleep 2.1 par_change_content_--jobs_filename sleep 2.2 par_change_content_--jobs_filename sleep 2.3 par_change_content_--jobs_filename sleep 2.4 par_change_content_--jobs_filename sleep 2.5 par_csv_not_installed ### Give error if CSV.pm is not installed when using --csv par_csv_not_installed parallel: Error: The perl module Text::CSV is not installed. par_csv_not_installed parallel: Error: Try installing libtext-csv-perl or perl-Text-CSV. par_delay_Xauto TODO: --retries for those that fail and --sshdelay par_delay_Xauto ### bug #58911: --delay Xauto par_delay_Xauto 0 par_delay_Xauto 2 par_distribute_input_by_ability ### bug #48290: round-robin does not distribute data par_distribute_input_by_ability based on busy-ness par_distribute_input_by_ability ### Distribute input to jobs that are ready par_distribute_input_by_ability Job-slot n is 50% slower than n+1, so the order should be 1..7 par_distribute_input_by_ability 1 par_distribute_input_by_ability 2 par_distribute_input_by_ability 3 par_distribute_input_by_ability 4 par_distribute_input_by_ability 5 par_distribute_input_by_ability 6 par_distribute_input_by_ability 7 par_linebuffer_tag_slow_output Test output tag with mixing halflines par_linebuffer_tag_slow_output a aH par_linebuffer_tag_slow_output b bH par_linebuffer_tag_slow_output a aa par_linebuffer_tag_slow_output b ba par_linebuffer_tag_slow_output a al par_linebuffer_tag_slow_output b bl par_linebuffer_tag_slow_output a af par_linebuffer_tag_slow_output b bf par_linebuffer_tag_slow_output a a par_linebuffer_tag_slow_output a par_linebuffer_tag_slow_output b b par_linebuffer_tag_slow_output b par_parcat_mixing parcat output should mix: a b a b par_parcat_mixing astart par_parcat_mixing bstart par_parcat_mixing aend par_parcat_mixing bend par_print_before_halt_on_error ### What is printed before the jobs are killed par_print_before_halt_on_error -2 exit code 0 par_print_before_halt_on_error -2 0.1 0.1 par_print_before_halt_on_error -2 parallel: This job succeeded: par_print_before_halt_on_error -2 perl -e 'sleep 1; sleep $ARGV[0]; print STDERR ",@ARGV,"\n"; -2 > 0 ? exit shift : exit not shift;' 0.1 par_print_before_halt_on_error -1 exit code 0 par_print_before_halt_on_error -1 0.1 0.1 par_print_before_halt_on_error -1 parallel: This job succeeded: par_print_before_halt_on_error -1 perl -e 'sleep 1; sleep $ARGV[0]; print STDERR ",@ARGV,"\n"; -1 > 0 ? exit shift : exit not shift;' 0.1 par_print_before_halt_on_error -1 parallel: Starting no more jobs. Waiting for 3 jobs to finish. par_print_before_halt_on_error -1 parallel: This job succeeded: par_print_before_halt_on_error -1 perl -e 'sleep 1; sleep $ARGV[0]; print STDERR ",@ARGV,"\n"; -1 > 0 ? exit shift : exit not shift;' 1 par_print_before_halt_on_error -1 parallel: Starting no more jobs. Waiting for 1 jobs to finish. par_print_before_halt_on_error -1 3.2 3.2 par_print_before_halt_on_error -1 0 0 par_print_before_halt_on_error -1 1 1 par_print_before_halt_on_error -1 parallel: This job succeeded: par_print_before_halt_on_error -1 perl -e 'sleep 1; sleep $ARGV[0]; print STDERR ",@ARGV,"\n"; -1 > 0 ? exit shift : exit not shift;' 3.2 par_print_before_halt_on_error 0 exit code 1 par_print_before_halt_on_error 0 0.1 0.1 par_print_before_halt_on_error 0 3.2 3.2 par_print_before_halt_on_error 0 0 0 par_print_before_halt_on_error 0 1 1 par_print_before_halt_on_error 0 2 2 par_print_before_halt_on_error 0 3 3 par_print_before_halt_on_error 0 4 4 par_print_before_halt_on_error 0 5 5 par_print_before_halt_on_error 0 6 6 par_print_before_halt_on_error 0 7 7 par_print_before_halt_on_error 0 0.3 0.3 par_print_before_halt_on_error 0 8 8 par_print_before_halt_on_error 1 exit code 1 par_print_before_halt_on_error 1 0.1 0.1 par_print_before_halt_on_error 1 parallel: This job failed: par_print_before_halt_on_error 1 perl -e 'sleep 1; sleep $ARGV[0]; print STDERR ",@ARGV,"\n"; 1 > 0 ? exit shift : exit not shift;' 1 par_print_before_halt_on_error 1 parallel: Starting no more jobs. Waiting for 3 jobs to finish. par_print_before_halt_on_error 1 parallel: This job failed: par_print_before_halt_on_error 1 perl -e 'sleep 1; sleep $ARGV[0]; print STDERR ",@ARGV,"\n"; 1 > 0 ? exit shift : exit not shift;' 2 par_print_before_halt_on_error 1 parallel: Starting no more jobs. Waiting for 2 jobs to finish. par_print_before_halt_on_error 1 3.2 3.2 par_print_before_halt_on_error 1 0 0 par_print_before_halt_on_error 1 1 1 par_print_before_halt_on_error 1 2 2 par_print_before_halt_on_error 1 parallel: This job failed: par_print_before_halt_on_error 1 perl -e 'sleep 1; sleep $ARGV[0]; print STDERR ",@ARGV,"\n"; 1 > 0 ? exit shift : exit not shift;' 3.2 par_print_before_halt_on_error 1 parallel: Starting no more jobs. Waiting for 1 jobs to finish. par_print_before_halt_on_error 1 3 3 par_print_before_halt_on_error 1 parallel: This job failed: par_print_before_halt_on_error 1 perl -e 'sleep 1; sleep $ARGV[0]; print STDERR ",@ARGV,"\n"; 1 > 0 ? exit shift : exit not shift;' 3 par_print_before_halt_on_error 2 exit code 1 par_print_before_halt_on_error 2 0.1 0.1 par_print_before_halt_on_error 2 parallel: This job failed: par_print_before_halt_on_error 2 perl -e 'sleep 1; sleep $ARGV[0]; print STDERR ",@ARGV,"\n"; 2 > 0 ? exit shift : exit not shift;' 1 par_sem_2jobs ### Test semaphore 2 jobs running simultaneously par_sem_2jobs job1a 1 par_sem_2jobs job2a 2 par_sem_2jobs job1b 3 par_sem_2jobs job3a 4 par_sem_2jobs job2b 5 par_sem_2jobs job3b 6 par_sem_2jobs done par_sem_dir ### bug #58985: sem stall if .parallel/semaphores is chmod 0 par_sem_dir parallel: Error: Semaphoredir must be writable: '~/.parallel/semaphores' par_timeout ### Test --timeout par_timeout 1.1 par_timeout 1.1 par_timeout parallel: Warning: This job was killed because it timed out: par_timeout parallel: Warning: echo 7.7; sleep 7.7; echo 7.7 par_timeout parallel: Warning: This job was killed because it timed out: par_timeout parallel: Warning: echo 8.8; sleep 8.8; echo 8.8 par_timeout parallel: Warning: This job was killed because it timed out: par_timeout parallel: Warning: echo 9.9; sleep 9.9; echo 9.9 par_timeout 7.7 par_timeout 8.8 par_timeout 9.9 par_tmux_termination ### --tmux test - check termination par_tmux_termination See output with: tmux -S /TMP/tmsXXXXX attach