Script Works But Need It to Exit Upon Closing Program


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script Works But Need It to Exit Upon Closing Program
# 1  
Old 03-03-2019
Script Works But Need It to Exit Upon Closing Program [SOLVED]

Running Xubuntu 16.04 with shell version "GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)," I have a working script that consistently renames a Chrome window:

Code:
#!/bin/sh
while sleep 1; do
	xdotool search --name chrome 2>/dev/null | while read id; do 
		xdotool set_window --name "Chrome" $id
	done
done

I can run this script in the background upon boot, but I would prefer to start it upon opening Chrome, then kill it upon closing Chrome.

I've tried a lot of if statements, etc and failed miserably--setting the variables is well above my skills.

May I ask veteran script-ers for assistance in setting up a script that starts the commands listed above when Chrome is opened, then terminates everything when Chrome is closed?

I very much appreciate your patience for my first post, and please let me know if I haven't made things clear enough.

Many thanks.

Edit: listed OS and shell version

Last edited by jakefish; 03-03-2019 at 06:12 PM.. Reason: SOLVED
# 2  
Old 03-03-2019
Welcome to the forum.


One option would be to create a wrapper script that, when launched / clicked,

- puts above loop into background, keeping its PID
- runs chrome in foreground until closed
- (softly) kills the PID.
This User Gave Thanks to RudiC For This Post:
# 3  
Old 03-03-2019
In addition to what my colleague RudiC already said: please always state your OS, its version, your shell, its version and perhaps other relevant properties of your environment depending on your question. Otherwise you will always be asked for that first without getting any (specific) answer and everybody - including you - loses time.

Every UNIX and Linux is - mostly - the same but "mostly" doesn't mean "completely". Since in our work we often deal with the exceptions rather than the defaults we need to know what exactly you are on if we want to give you more then a generalised and generic answer like RudiC did.

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
# 4  
Old 03-03-2019
Thank you for the quick replies and the suggestions for proper posting.

I'm unfamiliar with wrapper scripts, but in theory, is this what I'm looking for:

Code:
#!/bin/bash
/home/jake/Scripts_Icons/chrome.sh
/home/jake/Scripts_Icons/close_window.sh

chrome.sh:

Code:
#!/bin/sh
/home/jake/Scripts_Icons/chrome_retitled &    ##chrome_retitled is the window renaming script (from op)
google-chrome-stable

close_window.sh:

Code:
#!/bin/sh
killall chrome_retitled

This appears to work, in the sense that exiting chrome kills closes chrome completely and terminates chrome_retitled, but I appears to be calling a great many scripts. Since they're simple scripts and all ended upon chrome's closing, is this good enough?

Thanks again for your help.
# 5  
Old 03-03-2019
Not sure the killall will work satisfyingly ... kill $PID will.

Just append the kill command - whichever you use - to the chrome.sh script so it will execute when chrome terminates.
This User Gave Thanks to RudiC For This Post:
# 6  
Old 03-03-2019
Hey, that did it. Thank you, thank you.

Putting the kill command in the first script alleviates the need for separate kill script. With your help, I'm down to two scripts that successfully close out when Chrome exits.

When I was investigating wrapper scripts, a script-er said bash was needed, but I'm able to run it on the lighter sh .

I went down a rabbit hole with if statements and didn't realize the answer was much simpler.

Appreciate your speedy, helpful replies.
# 7  
Old 03-03-2019
Why two scripts? Unless you have additional things going on that you didn't show above, ALL can be done in one single script.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Exit script and open program via other user

Hello all.. so i have a problem i need to solve .. #! /bin/bash $SHELL dtterm -title my_prog -e su -user -c 'export DISPLAY=:0.0 ; /path/to/my/prog' & 2> /dev/null $SHELL intr exit This script will work on solaris 10 system in right clikt menu - in a secure system so i need to... (0 Replies)
Discussion started by: defs
0 Replies

2. Shell Programming and Scripting

Need to understand how the line in perl program works as shell commend

I have a file with two line, one is header, the other actual value: TYPCD|ETID2|ETID|LEG ID|PTYP|PTYP SUB|TRD STATUS|CXL REASON|CACT|CACTNM|ENCD|ENC D NM|TRDR|ASDT|TRDT|MTDT|STDT|LS|SECID|SECID TYP|SECNM|PAR|STCC|MARKET PRICE|DIS MARKET PRICE|MARKET PRICE CURRENCY|SRC OF SETTLEMENT... (2 Replies)
Discussion started by: digioleg54
2 Replies

3. Shell Programming and Scripting

Help with Shell Script opening and closing a program

REALLY new to this stuff, sorry. So I want a shell script to open a program, wait 45 minutes, close it, and then do it all again. I want to do this because I am running an iMacros Script for a long period of time and if Firefox is not constantly restarted, memory leaks start to happen. Anyway... (6 Replies)
Discussion started by: plsbbg
6 Replies

4. UNIX for Dummies Questions & Answers

C-program works fine interactively, but not on the SGE server

Greetings, I have a C-program that is made to implement a hidden Markov model on an input file. The program is very memory intensive. I've installed it on my local server where I have an account and it compiles fine. The way they have the server set up is that you can either work... (1 Reply)
Discussion started by: Twinklefingers
1 Replies

5. Shell Programming and Scripting

I dont want to exit the program by ctrl + c

Hey , guys I am new to shell programing ,, so need a help from you guys ... I have to write a shell script that accepts file name or directory name from the user if it is a directory then throw an error if it is a file then give the user two options . 1.overwrite the content 2.append the... (2 Replies)
Discussion started by: coolashu
2 Replies

6. Shell Programming and Scripting

Linux:Program exit with displaying a print feature

hi All I have a scritp running which connects to a local host and then gets a value from a field and then ftp that value to antoher server. It is running fine, and from crontab it gives the output to a file, the problem is sometime it doesnt run but if i check the output file it does not show one... (0 Replies)
Discussion started by: imran721
0 Replies

7. Solaris

Graphical program no longer works after Solaris 10 upgrade

This is a fairly complex issue. I do not have a lot of knowledge on X11. But here are the things. I am running a program called Synergy off a Solaris server. The server sits in a remote network and can be accessed via NAT. Using Putty, I will enable X11 forwarding and launch Synergy via Putty.... (0 Replies)
Discussion started by: Leion
0 Replies

8. Shell Programming and Scripting

Terminal is closing on exit in ksh

hi while executing the following script, my terminal window is getting closed if I enter a invalid option. I want the script should go back the the command prompt. how to do achive it. i execute the script as . ./test #! /usr/bin/ksh Printf " Type of Installer : \n\t\t 1. Whole Build... (3 Replies)
Discussion started by: vij_krr
3 Replies

9. UNIX for Dummies Questions & Answers

EXIT from a Program not from the function..

Hi, I want a command in unix shell script which will exit my whole program, not only from the function it's using. For e.g: $1 == "m_who" && $4 == "Extrnl Vendor" { print "You don have access" exit (0); } If this error is showing on the screen, then nothing should not... (9 Replies)
Discussion started by: ronix007
9 Replies

10. Shell Programming and Scripting

Line works in solo but not in program?

Now I am just getting frustrated and confused... if anyone has some advice on how this anomoly is occurring I would greatly appreciate it. cat helpme.txt | awk 'NR<5{printf("%-20s %-20d %-20d %-20.1f\n","hello",$1,$2,$3)}' | sort -rk4 This line works fine in solo - reads the three fields from... (4 Replies)
Discussion started by: nortypig
4 Replies
Login or Register to Ask a Question