• Posts
  • RSS
  • ◂◂RSS
  • Contact

  • Run When Done

    May 20th, 2014
    tech
    If you want to run a command when another finishes, the shell can do that for you:
        $ long_running_process.sh && echo "runs on success"
        $ long_running_process.sh || echo "runs on failure"
        $ long_running_process.sh ;  echo "runs either way"
    
    One common thing to do this with is email, so you get a notification:
        $ long_running_process.sh ; echo done | mail -s done jeff@jefftk.com
    
    (This does require your server to be set up for sending mail in a way that won't get rejected, which is actually kind of tricky.)

    For years, though, I've gotten annoyed at myself when after a process has been running for a while I wish I had set something else to run after it. Should I kill the process and start it over with && something_else.sh, or should I let it finish and then run something_else.sh on my own?

    It turns out you don't have to choose! Shell job control can do this for you. Just background the first command, and then when you foreground it add the next command:

        $ sleep 10
        ^Z
        [1]+  Stopped                 sleep 10
        $ fg ; echo "finished, exit status is $?"
        sleep 10
    (a few seconds of waiting)
        finished, exit status is 0
    
    You can see fg substitutes for the original command, running as long as it would, and passing along the exit status so && and || still work.

    Comment via: google plus, facebook

    Recent posts on blogs I like:

    Be less scared of overconfidence

    deferring to markets • deferring to experts • deferring to low-information heuristics • why they fail • blindness to outliers • what to do instead

    via benkuhn.net November 30, 2022

    Corncob Dolls

    I went to a farm and at the farm I got to see a corncrib and the corn that had fell out of the corncrib that no one wanted I got to use my fingers to take off the corn kernels and once the cobs were empty I put them in a bag and then once I got back to the…

    via Anna Wise's Blog Posts November 7, 2022

    Light Switch

    When I got my loft bed it was just so annoying every morning to have to get out of bed, climb down the ladder, turn the light on, and climb back up, just so I could see stuff. I decided to make a string for my light switch because I really wanted to be abl…

    via Lily Wise's Blog Posts November 7, 2022

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact