• 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 Gift of It's Your Problem Now

    Recently a security hole in a certain open source Java library resulted in a worldwide emergency kerfuffle as, say, 40% of the possibly hundreds of millions of worldwide deployments of this library needed to be updated in a hurry. (The other 60% also …

    via apenwarr January 1, 2022

    The container throttling problem

    This is an excerpt from an internal document David Mackey and I co-authored in April 2019. The document is excerpted since much of the original doc was about comparing possible approaches to increasing efficency at Twitter, which is mostly information tha…

    via Posts on December 18, 2021

    Experiences in raising children in shared housing

    Sometimes I see posts about people’s hope to raise children in a group housing situation, and it often seems overly optimistic to me. In particular they seem to expect that there will be more shared childcare than I think should be expected. Today I talke…

    via The whole sky October 18, 2021

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact