Sponsored Content
Top Forums Shell Programming and Scripting Script that "should work" it's not working. Post 302482508 by bisbell on Tuesday 21st of December 2010 05:49:28 PM
Old 12-21-2010
you're also making the assumption that the line number in the output of jobs is going to match the job number, which is not always true.

If you run the following commands, you'll see that job 3 is on the second line.

Code:
$ sleep 500 &
$ sleep 5 &
$ sleep 500 &
      wait 6 seconds, then
$ jobs
[1]-  Running                 sleep 500 &
[3]+  Running                 sleep 500 &

Try this:

my_script.bash
Code:
 #!/bin/bash
COMMAND=$*
JOB=`jobs | grep "$COMMAND" | sed 's/^\[\([0-9]*\)\].*/\1/'`
kill %$JOB

When you run it you'll have to source it in order to run it in the current shell and not a child.

$ . ./my_script.bash

Of course this does not take into account multiple jobs that contain the same text pattern. For that you'd have to create some kind of a loop.

Last edited by bisbell; 12-21-2010 at 07:07 PM..
 

8 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

variables don't work for inline "su" script

My first post here... I cannot get variables to work when using inline KSH commands on a "su" command. I have a KSH script, below, that produces my problem: #!/usr/bin/ksh su <user_id> <<-END export FLD1=`echo $PWD` pwd echo $FLD1 echo TEST echo $PWD END The script will prompt me... (3 Replies)
Discussion started by: joekreif
3 Replies

2. Shell Programming and Scripting

Script not working..."sort" not working properly....

Hello all, I have a file - 12.txt cat 12.txt =============================================== Number of executions = 2 Total execution time (sec.ms) = 0.009883 Number of executions = 8 Total execution time (sec.ms) = 0.001270 Number of... (23 Replies)
Discussion started by: Rahulpict
23 Replies

3. Shell Programming and Scripting

"sed" command is not working in shell script

Hi All, I am not much strong in shell scripting... I am using sed command in my script to find and replace a string....... This is how script looks : ############# #!/usr/bin/ksh CONFIG_FILE=iom_test.txt FIND=`echo "NIS_FTP_SERVER1=123.456.iom.com"` REPLACE=`echo... (2 Replies)
Discussion started by: askumarece
2 Replies

4. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

5. Shell Programming and Scripting

awk script does not work when written as "one-liner"

In my quest to solve a bigger problem (See my previous post called "Create SQL DML insert statements from file using AWK or similar" - sorry, not allowed to post urls until I have > 5 posts) I'm trying to get my head round awk, but have some problem figuring out why the following script does work... (2 Replies)
Discussion started by: Yagi Uda
2 Replies

6. Shell Programming and Scripting

Bash script: "mkdir -p" doesn't work with var(cat x)

Hello, :) I've an issue with the creation of a directory, All work without it :mad: So, below, my scripts with the debug output : #!/bin/bash # PATHS HOME_BACKUP="/home/backup" HOME_SCRIPT="/home/scripts/test/backup_server" TARGET="/var/www" # DATE DATE_Ymd=$(date +%Y-%m-%d) #... (1 Reply)
Discussion started by: Arnaudh78
1 Replies

7. UNIX for Beginners Questions & Answers

Automate "touch" bash script not working.

#!/bin/bash -i SAVEIFS=$IFS IFS=$"\n\b" picc=$* if ; then echo $TDATE if ; then touch dummy touch -t "tdate" dummy touch -r "dummy" "$picc" else echo -e "No mod date value to apply. If there is one in your shell,\ninvoke \eStarted asking advice on this (on Linuxquestions.org).... (9 Replies)
Discussion started by: iamwrong
9 Replies

8. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies
queuedefs(4)						     Kernel Interfaces Manual						      queuedefs(4)

NAME
queuedefs - Queue description file for at, batch, and cron commands DESCRIPTION
The queuedefs file describes the characteristics of the queues managed by cron or specifies other characteristics for cron. Each noncom- ment line in this file describes either one queue or a cron characteristic. Each uncommented line should be in one of the following for- mats. q.[njobj][nicen][nwaitw] max_jobs=mjobs log=lcode The fields in these lines are as follows: The name of the queue. Defined queues are as follows: The default queue for jobs started by at The default queue for jobs started by batch The default queue for jobs run from a crontab file Queues d to z are also available for local use. The maximum number of jobs that can be run simultaneously in the queue; if more than njob jobs are ready to run, only the first njob jobs will be run. The others will be initiated as currently running jobs ter- minate. The nice(1) value to give to all jobs in the queue that are not run with a user ID of superuser. The number of seconds to wait before rescheduling a job that was deferred because more than njob jobs were running in that queue, or because the system-wide limit of jobs executing (max_jobs) has been reached. The maximum number of active jobs from all queues that may run at any one time. The default is 25 jobs. Logging level of messages sent to a log file. The default is 4. Defined levels are as follows: level-code level 0 None 1 Low 2 Medium 3 High 4 Full Lines beginning with # are comments, and are ignored. EXAMPLES
The following file specifies that the b queue, for batch jobs, can have up to 50 jobs running simultaneously; that those jobs will be run with a nice value of 20. If a job cannot be run because too many other jobs are running, cron will wait 60 seconds before trying again to run it. All other queues can have up to 100 jobs running simultaneously; they will be run with a nice value of 2. If a job cannot be run because too many other jobs are running cron will wait 60 seconds before trying again to run it. b.50j20n60w The following file specifies that a total of 25 active jobs will be allowed by cron over all the queues at any one time, and cron will log all messages to the log file. The last two lines are comments that are ignored. max_jobs=25 log=4 # This is a comment # And so is this FILES
Main cron directory The default location for the queue description file. RELATED INFORMATION
Commands: at(1), cron(8), crontab(1), nice(1) delim off queuedefs(4)
All times are GMT -4. The time now is 07:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy