::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact

Run When Done

May 20th, 2014
tech  [html]
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:

Empire State High- and Low-Speed Rail

If Swiss planners were hired to design an intercity rail network for New York State, they might propose something that looks like this: The trip times depicted on the map are a few minutes longer than intended, especially next to a terminus station like N…

via Pedestrian Observations January 27, 2020

Hedonic asymmetries

Creating really good outcomes for humanity seems hard. We get bored. If we don’t get bored, we still don’t like the idea of joy without variety. And joyful experiences only seems good if they are real and meaningful (in some sense we can’t easily pin down…

via The sideways view January 26, 2020

Live the questions now

Here’s some advice that my Godmother, Lynne Caldwell, gave me a few years ago. I found it again the other day and it struck me that at least I understand its wisdom now. She really did get my problem. It feels like he’s speaking directly to me. It’s from …

via Holly Elmore January 23, 2020

more     (via openring)

More Posts:


  ::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact