In freebsd-questions Digest, Vol 409, Issue 5, Message: 3 On Wed, 04 Apr 2012 08:03:11 -0700, per...@pluto.rain.com wrote: > "ill...@gmail.com" <ill...@gmail.com> wrote: > > > (there is an executable named /usr/bin/jobs, but . . . > > well run "cat /usr/bin/jobs" & see for yourself). > > Whoa! Does /usr/bin/jobs even work? > > $ cat /usr/bin/jobs > #!/bin/sh > # $FreeBSD: src/usr.bin/alias/generic.sh,v 1.2.10.1.4.1 2010/06/14 > 02:09:06 kensmith Exp $ > # This file is in the public domain. > builtin ${0##*/} ${1+"$@"} > > It looks as if generic.sh intends to have the same effect as the > builtin matching the name under which the script is run, but at > least for "jobs" I don't think it will DTRT because it will run > in the wrong context: > > * The builtin "jobs" command will report all background jobs known > to the shell in which it is issued. > > * Because it is a shebang script, running /usr/bin/jobs will cause > the shell in which it is run to fork/exec an instance of /bin/sh, > and that instance will execute the /usr/bin/jobs script, thus it > will will be the new /bin/sh instance that executes _its_ builtin > "jobs" command -- reporting nothing, since _that_ instance has not > put anything into the background (and has no knowledge of what-all > its parent shell may have put in the background).
Quite so: t23# jobs -l t23# sleep 60 & [1] 86793 t23# jobs -l [1] + 86793 Running sleep 60 t23# /usr/bin/jobs -l t23# jobs -l [1] + 86793 Running sleep 60 t23# sh # jobs -l # sleep 60 & # jobs -l [1] + 86819 Running sleep 60 # /usr/bin/jobs -l # jobs -l [1] + 86819 Running sleep 60 # exit t23# jobs -l [1] + 86793 Running sleep 60 t23# jobs -l [1] 86793 Done sleep 60 t23# jobs -l t23# cheers, Ian _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"