MiKe McClain wrote: > Is there a way for a script to background itself? > Thanks, > Mike > >
Yes. But you gotta be careful, it's very easy to get a run away process series. The basic idea is that the script has to rerun itself in the background and exit. The way I do this is to set a flag in the first pass and *export* it, so the second pass can skip the first pass code. Like this: #!/bin/bash # Got to be careful, we don't want to go into an infinite loop of scripts. if [ ! "$DoNotBGMe" ] then # Set this so we don't try to rerun this script more than one time. export DoNotBGMe=yes # Background self. First, get full path to self. This usage of 'type' # may be specific to the bash shell. me=$(type -p bgself) echo Before backgrounding: $$ $me & exit fi echo After backgrounding: $$ echo "I'm running!" # End of script You can remove the 3 echo commands, they're there for illustration only. The code you want to have actually run goes after the 'if' statement. Bob McGowan PS: Forgot to mention, you may also not need to do the 'me=$(type...)' part, I do it so I can verify I'm actually running the script I think I'm running. Problems of this type can happen if you explicitly set the PATH being used by script (something you should do if the script is to become a production level tool, used by many users). bob -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]