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

The Private Sector’s Role in Transit Innovation

The United States has long had private success and public failure – not just the sense of private affluence and public squalor, in which household income is high but the state of public services lags, but also in that the private sector is more productive…

via Pedestrian Observations June 17, 2019

Unintended pregnancy in folk songs

I’ve been listening to a lot of the Watersons and Waterson:Carthy this week. It’s reminded me how absolutely full British folk music is of songs about unintended pregnancy. Most commonly the result is unhappy motherhood: “But if I had kent that I now ken …

via The whole sky June 1, 2019

Programmer migration patterns

I made a little flow chart of mainstream programming languages and how programmers seem to move from one to another. There's a more common kind of chart, which shows how the languages themselves evolved. I didn't want to show the point of view of …

via apenwarr March 18, 2019

more     (via openring)

More Posts:


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