Sponsored Content
Top Forums Shell Programming and Scripting Making sure only one instance of a script is running Post 302989651 by Chubler_XL on Monday 16th of January 2017 09:47:07 PM
Old 01-16-2017
Interesting link, I usually don't need portability and use flock(1) for my own scripts.

The method using mkdir from that FAQ looks like it would be more reliable and still portable:

Code:
 lockdir=/tmp/myscript.lock
 if mkdir "$lockdir"
 then
     # Remove lockdir when the script finishes, or when it receives a signal
     trap 'rm -rf "$lockdir"' 0    # remove directory when script finishes

     # Optionally create temporary files in this directory, because
     # they will be removed automatically:
     tmpfile=$lockdir/filelist
 else
     echo "Script is currently in progress..aborting..."
     exit 3
 fi

This User Gave Thanks to Chubler_XL For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to check if another instance of the process is running

Hi, I am writing a shell script to invoke a C++ program. Before I start the C++ program (oi7loadbalancer), I am checking if the process is already running. I start the process only if it is not already running. I have the following check in my script. proccount=`ps -f -u $USER_NAME | grep... (8 Replies)
Discussion started by: sim
8 Replies

2. Shell Programming and Scripting

replace first instance(not first instance in line)

Alright, I think I know what I am doing with sed(which probably means I don't). But I cant figure out how to replace just the first occurance of a string. I have tried sed, ed, and grep but can't seem to figure it out. If you have any suggestions I am open to anything! (3 Replies)
Discussion started by: IronHorse7
3 Replies

3. Shell Programming and Scripting

[PHP] endless loop mimics a cron. Make sure only one instance is running

Hi, PHP user here. I'm using an endless loop to perform to mimic a cron. The script does something every 20 minutes. It sleep()s in the meantime. I have various checks that ensure that only instance can run, including a "gentleman agreement" locked file. However, I'd like to make sure... (2 Replies)
Discussion started by: jjshell
2 Replies

4. Shell Programming and Scripting

How to restrict running one instance of scp at any time in fsniper

How to restrict running one instance of scp at any time? (2 Replies)
Discussion started by: proactiveaditya
2 Replies

5. Shell Programming and Scripting

Print available running instance out of total

Hello. I have a status command in AIX box, which provides output as below: $ status You are running the application on pegasus2 ----Program Name------|--Avail / Total---------| MQ | 1/2 | ORACLE | 10/10 | TMADMIN ... (3 Replies)
Discussion started by: panchpan
3 Replies

6. Shell Programming and Scripting

Making use of multiple cores for running sed and awk scripts

Hi All, After reading that the sort command in Linux can be made to use many processor cores just by using a simple script which I found on the internet, I was wondering if I can use similar techniques for programs like the awk and sed? #!/bin/bash # Usage: psort filename <chunksize>... (7 Replies)
Discussion started by: shoaibjameel123
7 Replies

7. Shell Programming and Scripting

Process Instance not running properly.

I have run 10 instances of the process eg, process name is BG nohup /WP01IRB1_irbapp/IRBWPROD/RB/bin/BG -c 1 -t 23 -a '-caTop TESTBILLCYCLE='5FEB13_81PT19NPT''>a.txt & nohup /WP01IRB1_irbapp/IRBWPROD/RB/bin/BG -c 2 -t 23 -a '-caTop TESTBILLCYCLE='5FEB13_81PT19NPT''>b.txt & nohup... (3 Replies)
Discussion started by: ankitknit
3 Replies

8. UNIX for Advanced & Expert Users

How to check a single process instance is always running?

Hi, I want to write one program in C in Unix OS which will check the running status of a process time to time. If the process is stopped somehow by any means, it will ensure that the process is restarted and only one copy of the process image should run in memory at any point of time for the user.... (2 Replies)
Discussion started by: sanzee007
2 Replies

9. Shell Programming and Scripting

Regarding a query on making changes to a running script

Hello All, Greetings !! I have a query here to all is as follows: Question: Let's say we are running a script in a UNIX box and we have opened an another session and then made changes in script of some statements NOT to be print some values(just an example) so when I am monitoring the... (5 Replies)
Discussion started by: RavinderSingh13
5 Replies

10. Shell Programming and Scripting

To trigger script on particular instance

Hi Guys, I have a main_script.sh which runs every day and scheduled in crontab. in the main script i read data from config file test.config apple mango orange main_script.sh for i in `cat test.config` do if then echo 'Apple' (3 Replies)
Discussion started by: Master_Mind
3 Replies
MH-TAILOR(5)                                                         [nmh-1.5]                                                        MH-TAILOR(5)

NAME
mh-tailor, mts.conf - mail transport customization for nmh message handler SYNOPSIS
/etc/nmh/mts.conf DESCRIPTION
The file /etc/nmh/mts.conf defines run-time options for those nmh programs which interact (in some form) with the message transport system. At present, these (user) programs are: ap, conflict, inc, msgchk, msh, post, rcvdist, and rcvpack. Each option should be given on a single line. Blank lines and lines which begin with `#' are ignored. The options available along with default values and a description of their meanings are listed below: mts: The mail transport method to use. The two acceptable options are smtp (which is the default), and sendmail. If you use smtp, this will enable a direct SMTP (simple mail transport protocol) interface in nmh. When sending mail, instead of passing the message to the mail transport agent, post will open a socket connection to the mail port on the machine specified in the servers entry. If you use sendmail, then post will send messages by forking a local copy of sendmail. Currently it will still speak SMTP with this local copy of sendmail. localname: The hostname nmh considers local. It should typically be a fully qualified hostname. If this is not set, depending on the version of UNIX you're running, nmh will query the system for this value (e.g. uname, gethostname, etc.), and attempt to fully qualify this value. If you are using POP to retrieve new messages, you may want to set this value to the name of the POP server, so that outgoing message appear to have originated on the POP server. localdomain: If this is set, a `.' followed by this string will be appended to your hostname. This should only be needed, if for some reason nmh is not able to fully qualify the hostname returned by the system (e.g. uname, geth- ostname, etc.). clientname: This option specifies the host name that nmh will give in the SMTP HELO (and EHLO) command, when posting mail. If not set, the default is to use the host name that nmh considers local (see localname above). If this option is set, but empty, no HELO command will be given. Although the HELO command is required by RFC-821, many SMTP servers do not require it. Early versions of SendMail will fail if the hostname given in the HELO command is the local host. Later versions of SendMail will complain if you omit the HELO command. If you run SendMail, find out what your system expects and set this field if needed. systemname: This option is only used for UUCP mail. It specifies the name of the local host in the UUCP "domain". If not set, depending on the version of UNIX you're running, nmh will query the system for this value. This has no equivalent in the nmh configuration file. mmdfldir: /var/mail The directory where maildrops are kept. If this option is set, but empty, the user's home directory is used. This overrides the default value chosen at the time of compilation. mmdflfil: The name of the maildrop file in the directory where maildrops are kept. If this is empty, the user's login name is used. This over- rides the default value (which is empty). mmdelim1: 01010101 The beginning-of-message delimiter for maildrops. mmdelim2: 01010101 The end-of-message delimiter for maildrops. maildelivery: /usr/lib/mh/maildelivery The name of the system-wide default maildelivery file. See slocal(1) for the details. everyone: 200 The highest user-id which should NOT receive mail addressed to "everyone". noshell: If set, then each user-id greater than "everyone" that has a login shell equivalent to the given value (e.g., "/bin/csh") indicates that mail for "everyone" should not be sent to them. This is useful for handling admin, dummy, and guest logins. SMTP support This option is only available if you set mts to smtp. servers: localhost A lists of hosts and networks which to look for SMTP servers when posting local mail. It turns out this is a major win for hosts which don't run an message transport system. The value of servers should be one or more items. Each item is the name of a host which is (hopefully) running a SMTP server. SendMail This option is only available if you set mts to sendmail. sendmail: /usr/sbin/sendmail The pathname to the sendmail program. Post Office Protocol This option is only available if you have compiled nmh with POP support enabled (i.e., "--enable-pop"). pophost: The name of the default POP service host. If this is not set, then nmh looks in the standard maildrop areas for waiting mail, other- wise the named POP service host is consulted. File Locking A few words on locking: nmh has several methods for creating locks on files. When configuring nmh, you will need to decide on the locking style and locking directory (if any). The first controls the method of locking, the second says where lock files should be created. To configure nmh for kernel locking, use the "--with-locking=flock" configure option if you want to use the flock system call; use "--with- locking=lockf" if you want to use the lockf system call; or use "--with-locking=fcntl" if you want to use the fcntl system call for kernel- level locking. Instead of kernel locking, you can configure nmh to use dot locking by using "--with-locking=dot". Dot locking specifies that a file should be created whose existence means "locked" and whose non-existence means "unlocked". The name of this file is constructed by append- ing ".lock" to the name of the file being locked. If "--enable-lockdir=directory" is not specified at build time, lock files will be cre- ated in the directory where the file being locked resides. Otherwise, lock files will be created in the directory specified by "--enable- lockdir". Prior to installing nmh, you should see how locking is done at your site, and set the appropriate values. FILES
/etc/nmh/mts.conf nmh mts configuration file PROFILE COMPONENTS
None SEE ALSO
mh-mts(8), post(8) DEFAULTS
As listed above MH.6.8 11 June 2012 MH-TAILOR(5)
All times are GMT -4. The time now is 11:12 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy