Is it possible to spawn an application, send commands, expect results, but also 'respawn' the application in case it crashed and continue from the last point? I tried creating procedures for spawning, but I am not able to catch user shell prompt once the application gets closed
handling tcl expect application crash
658 Views Asked by meso_2600 At
1
There are 1 best solutions below
Related Questions in BASH
- Perl Command Line Interpreter crashing on exit
- Perl Regex: Merge multiple one-character substrings
- Syntax error in Perl open
- Need help in understanding perl tr command with /d
- Referencing a Schema's table batch/perl
- Retrieving filtered list of files using template toolkit
- “Badly placed ()'s” error when running loc command
- getting google contacts using shuttlecloud
- Perl Module using %EXPORT_TAGS
- get all possible permutations of words in string using perl script
Related Questions in UNIX
- Perl Command Line Interpreter crashing on exit
- Perl Regex: Merge multiple one-character substrings
- Syntax error in Perl open
- Need help in understanding perl tr command with /d
- Referencing a Schema's table batch/perl
- Retrieving filtered list of files using template toolkit
- “Badly placed ()'s” error when running loc command
- getting google contacts using shuttlecloud
- Perl Module using %EXPORT_TAGS
- get all possible permutations of words in string using perl script
Related Questions in TCL
- Perl Command Line Interpreter crashing on exit
- Perl Regex: Merge multiple one-character substrings
- Syntax error in Perl open
- Need help in understanding perl tr command with /d
- Referencing a Schema's table batch/perl
- Retrieving filtered list of files using template toolkit
- “Badly placed ()'s” error when running loc command
- getting google contacts using shuttlecloud
- Perl Module using %EXPORT_TAGS
- get all possible permutations of words in string using perl script
Related Questions in EXPECT
- Perl Command Line Interpreter crashing on exit
- Perl Regex: Merge multiple one-character substrings
- Syntax error in Perl open
- Need help in understanding perl tr command with /d
- Referencing a Schema's table batch/perl
- Retrieving filtered list of files using template toolkit
- “Badly placed ()'s” error when running loc command
- getting google contacts using shuttlecloud
- Perl Module using %EXPORT_TAGS
- get all possible permutations of words in string using perl script
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
So it sounds like you are doing something like telneting or sshing into a shell then running an application. The application dies or hangs so the prompt does not return so expect does not return and so you are stuck. You will need to use timeout to detect a hang and restart your entire process ( including the spawn). Below is the boiler plate I start with when writing expect scripts. The critical thing to help you resolve your problem is to realize that spawn not only sets the spawn_id but also returns the pid of the spawned process. You can use that pid to kill the spawned process if you get an eof and/or a timeout. My boiler plate kills the spawn process on timeout. The timeout does not bail from the expect loop but waits for the eof before exiting. it also accumulates the output of expect command so on timeout you may be able to see where it dies. The boilerplate is in a proc called run. Spawn the process and pass the pid and the spawn id . Reuse the boiler plate to define other procs that will be the steps. put the procs in a script with a counter between them as shown and repeat. The other answerer is correct that the unless the app restarts where you left off you can need to start from scratch. If it does start from where you left off. make the steps granular enough that you know what command to repeat. and step to start from. BoilerPlate