Changes¶
0.12¶
-g
is no longer enabled by default and has been renamed to-k
.-f
has been renamed to-w
.Program filenames that are longer than
PATH_MAX
no longer may trigger undefined behaviour on systems where filename length is not checked by posix_spawnp(3).Pressing Ctrl-Z now also suspends execution while para is waiting for jobs to terminate.
The grace period set with
-k
is now precise.SIGCONT
is now sent afterSIGTERM
.-j
and-l
now default to at least 2, regardless of how many processors are available.-C
now exits early.
0.11¶
Commands can be now be composed from a format with
-k
.Non-job output, including errors, can now be redirect to an open file descriptor with
-e
.para can now be sent
SIGUSR1
to let running jobs finish, but not start new ones.-v
shows whole commands again.-l
now accepts 0 even if getloadavg(3) is not available.-s
has be renamed to-q
.Jobs are now sent a
SIGCONT
before being sentSIGTERM
to improve the chances that they are in state in which they can receiveSIGTERM
.
0.10.1¶
Messages by para, not the jobs run by para, are now written to standard error atomically, if possible. This should make
-v
more orderly.
0.10¶
Jobs are now only started if no jobs are running or if the one minute load average is smaller than the number of available processors minus one (or, if the number or processors cannot be detected, smaller than two); the maximum load can be adjusted with
-l
.The number of commands that can be given is now indefinite.
Jobs now run in process groups of their own.
If the number of available processors can be detected, that number is now the default for
-j
.If
-f
is given and an error occurs, Para waits for running jobs to finish and then exits.Word-splitting now behaves the same was as in sh, save for that escaped newlines are interpreted as newlines (rather than spaces) and that trailing backslashes raise an error.
Pressing Ctrl-Z now also suspends running jobs.
-e
has been removed.-o
has been removed.-v
now shows how many jobs have succeeded and failed.Killing jobs can now be disabled with
-g0
.-j
no longer accepts 64.-i
no longer accepts 0.If a job exits because it received a signal, Para now exits with the appropriate status.
Leading whitespace in commands is now ignored.
Giving the empty string as command no longer segfaults.
Giving a very long command no longer may segfault.
Option errors are no longer mangled on GNU-based systems.
Files should now be closed and streams be flushed on all systems.
Options that take numeric values now recognise overflow correctly.
Options that take numeric values now raise an error even if strtoll(3) is permissive.
Giving the empty string as command now prints a more meaningful error.
0.9.2¶
Job output and errors can now be redirected to files with
-o
and-e
respectively.Para status reports no longer overwrite job output and vice versa.
“#” is no longer treated as starting a comment in commands.
0.9.1¶
-v
displays “Waiting for x jobs to finish …” again.“x jobs completed” message is now grammatically correct for x = 1.
0.9¶
0.8.2¶
Allow configuration of defaults and limits at compile-time.
Stop execution if a job receives a signal.
0.8.1¶
Minor changes to diagnostic output.
Added a man page.
0.8¶
First release