delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/11/27/18:37:21

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <006501c1779a$8252add0$2701010a@crosstrust.com>
From: "Daniel Meier" <dmeier AT crosstrust DOT com>
To: <cygwin AT cygwin DOT com>
Subject: Shell process identification
Date: Tue, 27 Nov 2001 15:23:21 -0800
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4807.1700
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700

------=_NextPart_000_005F_01C17757.74188A70
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_0060_01C17757.74188A70"


------=_NextPart_001_0060_01C17757.74188A70
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I want to cron/at a bash script but have it check to see if another =
instance of the script is already running.

I did a ps -Wl and a ps -ef while I had the script running and while I =
saw the /usr/bin/bash executables (my current shell and the shell I =
wanted to detect) they did not contain enough information to =
differentiate between the two shells.

Any ideas of how I can determine this? I thought of using a temp file, =
but if the script terminates abnormally it might not cleanup it's files, =
causing the next cron job to not run, thinking that the other script is =
still running.

Basically I'm trying to introduce some error recovery into a script. So =
that if it terminates, another instance will be started.

------=_NextPart_001_0060_01C17757.74188A70
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 5.50.4807.2300" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>I want to cron/at a&nbsp;bash =
script&nbsp;but have=20
it check to see if another instance of the script is already=20
running.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>I did a ps -Wl and a ps -ef while I had =
the script=20
running and while I saw the /usr/bin/bash executables (my current shell =
and the=20
shell I wanted to detect) they did not contain enough information to=20
differentiate between the two shells.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Any ideas of how I can determine this? =
I thought of=20
using a temp file, but if the script terminates abnormally it might not =
cleanup=20
it's files, causing the next cron job to not run, thinking that the =
other script=20
is still running.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Basically I'm trying to introduce some =
error=20
recovery into a script. So that if it terminates, another instance will =
be=20
started.</FONT></DIV></BODY></HTML>

------=_NextPart_001_0060_01C17757.74188A70--

------=_NextPart_000_005F_01C17757.74188A70
Content-Type: application/x-pkcs7-signature;
	name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="smime.p7s"

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIKUDCCAoYw
ggHvoAMCAQICAQEwDQYJKoZIhvcNAQEFBQAwTTEXMBUGA1UEChMOQ1JPU1NUUlVTVC5jb20xMjAw
BgNVBAMTKUNST1NTVFJVU1QuY29tIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTAxMDUy
MjA3MDAwMFoXDTExMDUyMjA3MDAwMFowTTEXMBUGA1UEChMOQ1JPU1NUUlVTVC5jb20xMjAwBgNV
BAMTKUNST1NTVFJVU1QuY29tIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MIGfMA0GCSqGSIb3
DQEBAQUAA4GNADCBiQKBgQC2o9Ko5U7U6u2rHshkE/QX+ERzFVNx4Kz9lRyMGZuiuchqVnblqJvU
Rn5YWL4rfKLfu5b8o3uRa9d1w15uM1UDI3mjdqrHy54+BV8TQQXmZ5RasAKaZ1/5TJ8GzmPYEnFJ
NGSyJ+aht/K/SzDdcj+OrXsRgM83EpvdKpG9l+hFfQIDAQABo3YwdDARBglghkgBhvhCAQEEBAMC
AAcwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUIzlMpyt8HB4VOdpukwrmyagqBGQwHwYDVR0j
BBgwFoAUIzlMpyt8HB4VOdpukwrmyagqBGQwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUA
A4GBAJ/mlxNVNrnClSjWEsWJbvBdtZnhmwW2eGX+j8NXcsQIx5qGT8RnYfBdu8lUC2JfICNoAj5Z
O/a1N/SZTjYEn8l8/e6WcWs59i2XrI7ZazYbG6D67I7Al1/Tvlw9F9Da+J09C37k6DDzUfZZ78HY
yxsP/tfMK1FwbIyxFdQL/fwGMIIDYzCCAsygAwIBAgIBBDANBgkqhkiG9w0BAQUFADBNMRcwFQYD
VQQKEw5DUk9TU1RSVVNULmNvbTEyMDAGA1UEAxMpQ1JPU1NUUlVTVC5jb20gUm9vdCBDZXJ0aWZp
Y2F0ZSBBdXRob3JpdHkwHhcNMDEwNTI0MTgxMTQzWhcNMTEwNTIyMDcwMDAwWjA/MRcwFQYDVQQK
Ew5DUk9TU1RSVVNULmNvbTEMMAoGA1UECxMDUEtJMRYwFAYDVQQDEw1DUk9TU1RSVVNUIENBMIGf
MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC73Q1Wnqq3FeAekDrWhREQz98/GORp0V91jAcYYFE5
aTyMjFhtIugOiHXWiHEnlid8/AONsDo1E4hIF7tXUE+OBRLqXUIaKxutOnRhZq8QfaCnCLBisE6A
K+URVK7GZB/R8iiI9lEp6cmACqZ3zws6I+/a3/ZRkwDq7PuCZR3pbwIDAQABo4IBXzCCAVswHwYD
VR0jBBgwFoAUIzlMpyt8HB4VOdpukwrmyagqBGQwHQYDVR0OBBYEFOW+z1iPJQHPdc+CQG7sRp/M
N8I9MBEGCWCGSAGG+EIBAQQEAwIGQDAOBgNVHQ8BAf8EBAMCBPAwga8GA1UdIASBpzCBpDCBoQYH
KwYEAbovATCBlTBVBggrBgEFBQcCAjBJMCQWHURpc2NyZWV0IENvbW11bmljYXRpb25zIEdyb3Vw
MAMCAQEaIUNQUyBJbmNvcnAuIGJ5IFJlZi4sTElBQi5MVEQoYyk5NzA8BggrBgEFBQcCARYwaHR0
cDovL3d3dy5jcm9zc3RydXN0LmNvbS9DUFMvQ3Jvc3N0cnVzdENQUy5odG1sMCsGA1UdEAQkMCKA
DzIwMDEwNTIyMDcwMDAwWoEPMjAxMTA1MjIwNzAwMDBaMBcGA1UdEQQQMA6BDGFkbWluQGN0LmNv
bTANBgkqhkiG9w0BAQUFAAOBgQAnktUbC3gG7jViCQqJIF7f0RNUep0+/U4X/KkSkCFBz+uHMVQL
mlWE4CgMk0y+zNYzkQuvvUo8fmc4DW99+RlYzgXKNWFOoA8M7UYOAeBdaiyevCSwseT7FJvKq2+0
tpMqS2AWiCOFbLO9dHJ9N5+YR5kQLfRHnaNFJmrqstUBtDCCBFswggPEoAMCAQICAgEUMA0GCSqG
SIb3DQEBBQUAMD8xFzAVBgNVBAoTDkNST1NTVFJVU1QuY29tMQwwCgYDVQQLEwNQS0kxFjAUBgNV
BAMTDUNST1NTVFJVU1QgQ0EwHhcNMDExMTE1MDA0MzQyWhcNMDIxMTE1MDA0MzQyWjCBqjEXMBUG
A1UEChMOQ1JPU1NUUlVTVC5jb20xKDAmBgNVBAsTH1NlY3VyZSBCdXNpbmVzcyBTb2x1dGlvbnMg
R3JvdXAxEzARBgNVBAsTClVubGljZW5zZWQxFDASBgoJkiaJk/IsZAEBEwQ3MTM2MRQwEgYDVQQD
EwtEYW4gVyBNZWllcjEkMCIGCSqGSIb3DQEJARYVZG1laWVyQGNyb3NzdHJ1c3QuY29tMIGfMA0G
CSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3jXVbOGRZt3ftnRfwRpwkX1H/u7b7EVYLGCx08yd76/wI
QyOhn1zMEWG/Hr3tv1NWse0AZECq6UI0crSEQnpOCG1cLica1vZy5uQRgrMc9V/NpW6O+qy8sh/m
u5d1kaRqYySLCnkUVN+bHN5g9UrJ96mmVQSaXPj7fn836GEi+QIDAQABo4IB+DCCAfQwgbAGA1Ud
IASBqDCBpTCBogYHKwYEAbovATCBljBWBggrBgEFBQcCAjBKMCQWHURpc2NyZWV0IENvbW11bmlj
YXRpb25zIEdyb3VwMAMCAQEaIkNQUyBJbmNvcnAuIGJ5IFJlZi4sIExJQUIuTFREKGMpOTcwPAYI
KwYBBQUHAgEWMGh0dHA6Ly93d3cuY3Jvc3N0cnVzdC5jb20vQ1BTL0Nyb3NzdHJ1c3RDUFMuaHRt
bDAfBgNVHSMEGDAWgBTlvs9YjyUBz3XPgkBu7EafzDfCPTAdBgNVHQ4EFgQUp5nMRj6TNQzTcXOT
n1lrq1OwEXwwSgYDVR0fBEMwQTA/oCmgJ4YlaHR0cDovL3JlZ2lzdHJhdGlvbi5jcm9zc3RydXN0
LmNvbTo4MKIShhBDTj1DUk9TU1RSVVNUIENBMCAGA1UdEQQZMBeBFWRtZWllckBjcm9zc3RydXN0
LmNvbTARBglghkgBhvhCAQEEBAMCBaAwDgYDVR0PAQH/BAQDAgXgMCsGA1UdEAQkMCKADzIwMDEw
NTI0MDcwMDAwWoEPMjAwMjA1MjQwNzAwMDBaMEEGCCsGAQUFBwEBBDUwMzAxBggrBgEFBQcwAYYl
aHR0cDovL3JlZ2lzdHJhdGlvbi5jcm9zc3RydXN0LmNvbTo4MDANBgkqhkiG9w0BAQUFAAOBgQCm
H4kWhgQa3LNVa3FFXsbiqj7yU1n5zRTs35qaCwij9slYP11fMX+sGUOQm2mXP0u4bhhtDk+rDjLB
DgvO6UiraQVm2K6OWB/0W4CyYwNESXpuLo8I+I1ETaqebpUKacTo8qigoWKHhOY7c+RdpggilHf3
0zNbGi94m3V7TgYEzjGCAagwggGkAgEBMEUwPzEXMBUGA1UEChMOQ1JPU1NUUlVTVC5jb20xDDAK
BgNVBAsTA1BLSTEWMBQGA1UEAxMNQ1JPU1NUUlVTVCBDQQICARQwCQYFKw4DAhoFAKCBujAYBgkq
hkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wMTExMjcyMzIzMjFaMCMGCSqG
SIb3DQEJBDEWBBQAKv7/YtFXfht/u6CVv6eLXDo8fjBbBgkqhkiG9w0BCQ8xTjBMMAoGCCqGSIb3
DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIB
KDAHBgUrDgMCHTANBgkqhkiG9w0BAQEFAASBgCtdTmU3uhG+ZWPiW2HT47Lw39poP/wpb8ipl9vy
v3OTaHJ2H+M37M3xjY0GnXAYoEta+eO93zb72GMvHC6PoD92Xjl+bB72fBBdK1orRxMyxOxRTmWb
O40f5iQmmGEwR4TLil7R5Sud6rEPbuUWUSd/SokR4ROaUnssd02jwIcaAAAAAAAA

------=_NextPart_000_005F_01C17757.74188A70--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019