Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6592367
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T17:32:44+00:00 2026-05-25T17:32:44+00:00

I have a command that should take less than 1 minute to execute, but

  • 0

I have a command that should take less than 1 minute to execute, but for some reason has an extremely long built-in timeout mechanism. I want some bash that does the following:

success = False

try(my_command)

while(!(success))
wait 1 min
if my command not finished
     retry(my_command)
else
     success = True   
end while

How can I do this in Bash?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T17:32:45+00:00Added an answer on May 25, 2026 at 5:32 pm

    Look at the GNU timeout command. This kills the process if it has not completed in a given time; you’d simply wrap a loop around this to wait for the timeout to complete successfully, with delays between retries as appropriate, etc.

    while timeout -k 70 60 -- my_command; [ $? = 124 ]
    do sleep 2  # Pause before retry
    done
    

    If you must do it in pure bash (which is not really feasible – bash uses lots of other commands), then you are in for a world of pain and frustration with signal handlers and all sorts of issues.


    Please expand on your answer a little. -k 70 is --kill-after= 70 seconds, 124 exit on timeout; what is the 60?

    The linked documentation does explain the command; I don’t really plan to repeat it all here. The synopsis is timeout [options] duration command [arg]...; one of the options is -k duration. The -k duration says “if the command does not die after the SIGTERM signal is sent at 60 seconds, send a SIGKILL signal at 70 seconds” (and the command should die then). There are a number of documented exit statuses; 124 indicates that the command timed out; 137 that it died after being sent the SIGKILL signal, and so on. You can’t tell if the command itself exits with one of the documented statuses.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a need for a personal command-line tool that should take the name
I have a command line that I'm trying to modify to remove some of
I have a command line executable that alters some bits in a file that
This seems like it should be really simple, but for some reason, I'm not
I need to have a command handler for a ToggleButton that can take multiple
I have a command that runs fine if I ssh to a machine and
I have this command that I run everyday via cron: find /home/get/public_html/videos -daystart -maxdepth
I have this command that I run every 24 hours currently. find /var/www/html/audio -daystart
I have a complex command that I'd like to make a shell/bash script of.
I have a command (cmd1) that greps through a log file to filter out

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.