Vasanth Nag K V
Vasanth Nag K V

Reputation: 4988

passing control+C in linux shell script

in a shell script i have a command like, pid -p PID, after that i have some more commands. but as soon as the pid -p PID command runs we should supply a control+C to exit from it and then only the further commands executes. so i wanna do this periodically, i have all the things i want in a shell script and i wanna put this into crontab. the only thing that bothers is, if i schedule this script in the crontab, afetr its first execution, the command pid -p PID, how will i supply the CONTRO+C command for allowing further commands to execute???? please help my script is like this.. very simple one

top -p $1
free -m
netstat -antp|grep 3306|grep $1
jmap -dump:file=my_stack$RANDOM.bin $1 

Upvotes: 0

Views: 1179

Answers (2)

Olaf Dietsche
Olaf Dietsche

Reputation: 74058

You can send signals with kill. In your case however, you can just restrict top to one or a few iterations

top -p $1 -n 1

Update:

You can redirect the output of a command to a file. Either overwrite the file each time

command.sh >file.txt 2>&1

or append to a file

command.sh >>file.txt 2>&1

If you don't want the error output, leave out the 2>&1 part.

Upvotes: 1

Chandranshu
Chandranshu

Reputation: 3669

pid -p PID &
some_pid=$!
kill -s INT $some_pid

Upvotes: 0

Related Questions