::  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:

How Fast New York Regional Rail Could Be Part 2

In my last post about New York regional rail schedules, I covered the New Haven and Harlem Lines of Metro-North and the Main Line and Hempstead Branch of the LIRR. I was hoping to cover more lines tonight, but due to time constraints only the Hudson Line …

via Pedestrian Observations October 17, 2019

Strong stances

I. The question of confidence Should one hold strong opinions? Some say yes. Some say that while it’s hard to tell, it tentatively seems pretty bad (probably). There are many pragmatically great upsides, and a couple of arguably unconscionable downsides. …

via Meteuphoric October 15, 2019

What do executives do, anyway?

An executive with 8,000 indirect reports and 2000 hours of work in a year can afford to spend, at most, 15 minutes per year per person in their reporting hierarchy... even if they work on nothing else. That job seems impossible. How can anyone make any im…

via apenwarr September 29, 2019

more     (via openring)

More Posts:


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