#!/bin/sh
myPid=$$
scriptName=$(basename $0)
lockFile=/tmp/${scriptName}.pid
#Check if the lockfile exists. If yes check if the process that locked exists
if [ -f ${lockFile} ]
then
pid=$(cat $lockFile)
if ps -ef | grep -v grep | grep -q ${pid}
then
echo "An earlier instance of the script ${scriptName} is running with pid ${pid}."
exit 1
else #The script has exited without removing the lock file.
rm ${lockFile}
fi
#Now create the new lockfile
echo ${myPid} >$l{lockFile}
Make sure that you remove the lock file when you exit.(Both planned and unplanned exit)
how can I lock my keyboard while I'm away from the computer without using lock command. What other commands gives me the option to lock keyboard device?
thanks (7 Replies)
Hi,
My requirement is to service a process and below is the script which i wrote for that and works fine, I have kept it in a crontab and running this everyminute, how do I lock this if its already running and i dont want to open if its running and not completed yet.
The crontab need to run... (4 Replies)
Hello all,
If anyone has time, I have a few questions:
How do I do the following in Linux. We are using Red Hat and Oracle Enterprise Linux, which is based on Red Hat too.
1. How to lock the account after a few (like 3) invalid password attempts?
2. How do you lock a screen after 30... (1 Reply)
I am trying to create a script that will take a very large, tab delimited file and then lock accounts.
File headers look like this
id desc server pass sudo lock
test Test user server01 67 no no
"Test user" is under the desc column
Basically if pass column is greater... (5 Replies)
Hi,
I have a ksh shell script that accesses databases to drop and create tables and the script also creates text files.
This shell script is accessed thru a java application that i would like to turn multi-user, but the only way that i can do that is if I can figure out a way to lock the shell... (2 Replies)
Hi all,
I have to test some user priviliges. The goal is to be sure that an unauthorized user can't restart some modules (ssh, mysql etc...).
I'm trying to automate it with a shell script but in same cases I got the syslog broadcast message.
Is there any way to simply get a return code... (3 Replies)
Hi All,
newbie here, is it possible to lock my second script? because my 1st script is still running.
Ex.
1st run : 1st script.sh --> running.....
2nd run : 1st script.sh --> lock because the script is still running..
i don't have any idea how to do it.
Please advise,
Thanks,... (1 Reply)
Hi All,
My requirement is i have a script A.sh .When a person A runs the script A.sh it should get locked and person B should not run the script.
i followed the below code
f_script_lock()
{
process=$1
user=`ps -ef | grep -i "$process" | grep -i 'ksh' | awk '{print $1;}'`
if ; then
... (1 Reply)
Hi,
I am new to perl and have a script to which i want to ensure that no matter how many ever times i execute the script it should execute only once per day. Cronjob is not a safe method as I want to built in capability inside the script. (1 Reply)
Discussion started by: ctrld
1 Replies
LEARN ABOUT DEBIAN
mkfifoat
MKFIFO(2) BSD System Calls Manual MKFIFO(2)NAME
mkfifo, mkfifoat -- make a fifo file
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/types.h>
#include <sys/stat.h>
int
mkfifo(const char *path, mode_t mode);
int
mkfifoat(int fd, const char *path, mode_t mode);
DESCRIPTION
The mkfifo() system call creates a new fifo file with name path. The access permissions are specified by mode and restricted by the umask(2)
of the calling process.
The fifo's owner ID is set to the process's effective user ID. The fifo's group ID is set to that of the parent directory in which it is
created.
The mkfifoat() system call is equivalent to mkfifo() except in the case where path specifies a relative path. In this case the newly created
FIFO is created relative to the directory associated with the file descriptor fd instead of the current working directory. If mkfifoat() is
passed the special value AT_FDCWD in the fd parameter, the current working directory is used and the behavior is identical to a call to
mkfifo().
RETURN VALUES
The mkfifo() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate
the error.
ERRORS
The mkfifo() system call will fail and no fifo will be created if:
[ENOTSUP] The kernel has not been configured to support fifo's.
[ENOTDIR] A component of the path prefix is not a directory.
[ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters.
[ENOENT] A component of the path prefix does not exist.
[EACCES] A component of the path prefix denies search permission, or write permission is denied on the parent directory of the fifo
to be created.
[ELOOP] Too many symbolic links were encountered in translating the pathname.
[EROFS] The named file would reside on a read-only file system.
[EEXIST] The named file exists.
[EPERM] The parent directory of the named file has its immutable flag set, see the chflags(2) manual page for more information.
[ENOSPC] The directory in which the entry for the new fifo is being placed cannot be extended because there is no space left on the
file system containing the directory.
[ENOSPC] There are no free inodes on the file system on which the fifo is being created.
[EDQUOT] The directory in which the entry for the new fifo is being placed cannot be extended because the user's quota of disk
blocks on the file system containing the directory has been exhausted.
[EDQUOT] The user's quota of inodes on the file system on which the fifo is being created has been exhausted.
[EIO] An I/O error occurred while making the directory entry or allocating the inode.
[EIO] An I/O error occurred while reading from or writing to the file system.
[EFAULT] The path argument points outside the process's allocated address space.
In addition to the errors returned by the mkfifo(), the mkfifoat() may fail if:
[EBADF] The path argument does not specify an absolute path and the fd argument is neither AT_FDCWD nor a valid file descriptor
open for searching.
[ENOTDIR] The path argument is not an absolute path and fd is neither AT_FDCWD nor a file descriptor associated with a directory.
SEE ALSO chflags(2), chmod(2), mknod(2), stat(2), umask(2)STANDARDS
The mkfifo() system call is expected to conform to ISO/IEC 9945-1:1990 (``POSIX.1''). The mkfifoat() system call follows The Open Group
Extended API Set 2 specification.
HISTORY
The mkfifoat() system call appeared in FreeBSD 8.0.
BSD April 10, 2008 BSD