Sponsored Content
Full Discussion: Shall I go for uid or ppid?
Top Forums Shell Programming and Scripting Shall I go for uid or ppid? Post 302416308 by Lora Graham on Monday 26th of April 2010 05:14:27 AM
Old 04-26-2010
Shall I go for uid or ppid?

Hi Guys,
I'd like to ask your advice on the following, I've written this script to terminate a given process by name:
Code:
#!/bin/bash
echo 'Please enter the process you wish to terminate'
read process
pid=$(pidof $process)
kill -9 $pid
echo $2

to make it safer I want it to reject the killing of root owned processes.

I'm thinking of doing it using an if condition in two ways, either by the process parend ID or the process UID but I'm having some trouble getting there:
Code:
#!/bin/bash
echo 'Please enter the process you wish to terminate'
read process
pid=$(pidof $process)
ps -ef | grep '$process' | awk '{print $2}'
if [ '$2'="root"]
then
echo "The process cannot be terminated for safety reasons"
else
kill -9 $pid
echo $3

From what I understand there is no real command to get a ppid of a process so I'm trying to make it through the UID. What would you suggest?

Lora

Last edited by Franklin52; 04-26-2010 at 06:22 AM.. Reason: Please indent your code and use code tags!
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

strange pid and ppid problem

Hi all, Please look into the following code : int main() { char command; int pid, ppid; ppid = getpid(); /* Get the parent pid */ pid = fork(); /* Fork */ if ( pid ==0 ) { sprintf( command, " gdb a.out %d ", ppid ); printf( "Command line is %s\n", command ); system( command... (3 Replies)
Discussion started by: asvija
3 Replies

2. Shell Programming and Scripting

Need a script to kill processes with PPID of 1

Hi, I have been trying to come up with a script to run as a cron job to kill any processes that have PPID of 1. I have created a file that contains the PID and the PPID. How can I read this file and then execute a kill on any PID where PPID is 1. The file looks like this: 4904 1 4455 1... (5 Replies)
Discussion started by: lbaysdon
5 Replies

3. UNIX for Dummies Questions & Answers

what is the meaning of ppid 1?

Is there any meaning on parent process id when it is equal = 1? It is found that most of the ppid is lower than pid of the same process by 1 when perform ps -ef but notice that some process's ppid is 1 (2 Replies)
Discussion started by: darkrainbow
2 Replies

4. UNIX for Dummies Questions & Answers

Comparing CRON PID w/Current PPID

All, I've got a script that needs to check if it was started by cron. The code seems to be right, but it's not running correctly if cron starts it. Am I getting the pid's correctly? I'm not having any luck figuring it out. :confused: Any help is appreciated! CRON_ID=$(ps -aef | grep... (1 Reply)
Discussion started by: GregWold
1 Replies

5. UNIX for Advanced & Expert Users

' ps v PPID' command and real memory

hi Guys, Just wondering whether if I execute the ps v 1818740 and I get the below ouput what column should I use If I need to calculate how much real memory (private) is use by those process. Thanks. PID TTY STAT TIME PGIN SIZE RSS LIM TSIZ TRS %CPU %MEM COMMAND ... (1 Reply)
Discussion started by: hariza
1 Replies

6. Solaris

why process PPID changes to 1

Hi All, I have just started using SUN Solaris o.s version is :SunOS spdwa013(my server name) 5.8 Generic_117350-61 sun4u sparc SUNW,Sun-Fire-480R My problem is that i have some processes running on that server they have a PID and a PPID. But sometimes the PPID for a particular process... (2 Replies)
Discussion started by: usha rao
2 Replies

7. UNIX for Dummies Questions & Answers

Starting a process whose ppid should be 1

How can I start a process with ppid as 1 instead of my current shell pid? (2 Replies)
Discussion started by: siba.s.nayak
2 Replies

8. UNIX for Advanced & Expert Users

PPID differs in script and prompt

I tried several times to get answer to the below problem. Someone can please help me? $ cat p1.sh #!/bin/sh `./c1.sh &` while # indefinite loop do x=5; done $ cat c1.sh # sleep for 10 sec and exit #!/bin/sh sleep 10; Execute P1 as ./p1 & $ ps -eaf | grep c1... (1 Reply)
Discussion started by: alexalex1
1 Replies

9. UNIX for Dummies Questions & Answers

Process Name from PPID

Hi, I am currently trying to pin down a process NAME (could be a cron job or a tty) in Solaris. First I obtained a pid and then a ppid. I want to take the PPID and from there find the program/process that is making the VSH go high (cpu usage). I am currently trying to go up the chain using PS... (2 Replies)
Discussion started by: troystevens
2 Replies

10. UNIX for Dummies Questions & Answers

PID and PPID - please explain :(-

Hi, I need some help understanding PID and PPID that is shown by the ps -ef output. OS is Solaris 5.8. :wall: There are several Oracle databases and processes running on this server and they all have the same PPID. Does that mean they are all spawned off the same startup script? I then... (1 Reply)
Discussion started by: newbie_01
1 Replies
setpgid(2)							System Calls Manual							setpgid(2)

NAME
setpgid(), setpgrp2() - set process group ID for job control SYNOPSIS
DESCRIPTION
The and system calls cause the process specified by pid to join an existing process group or create a new process group within the session of the calling process. The process group ID of the process whose process ID is pid is set to pgid. If pid is zero, the process ID of the calling process is used. If pgid is zero, the process ID of the indicated process is used. The process group ID of a session leader does not change. is provided for backward compatibility only. Security Restrictions Some or all of the actions associated with this system call are subject to compartmental restrictions. See compartments(5) for more information about compartmentalization on systems that support that feature. Compartmental restrictions can be overridden if the process possesses the privilege (COMMALLOWED). Processes owned by the superuser may not have this privilege. Pro- cesses owned by any user may have this privilege, depending on system configuration. See privileges(5) for more information about privileged access on systems that support fine-grained privileges. RETURN VALUE
and return the following values: Successful completion. Failure. is set to indicate the error. ERRORS
If or fails, is set to one of the following values. The value of pid matches the process ID of a child process of the calling process and the child process has successfully executed one of the exec(2) functions. The value of pgid is less than zero or is outside the range of valid process group ID values. The process indicated by pid is a session leader. The value of pid is valid but matches the process ID of a child process of the calling process, and the child process is not in the same session as the calling process. The value of pgid does not match the process ID of the process indicated by pid and there is no process with a process group ID that matches the value of pgid in the same session as the calling process. The value of pid does not match the process ID of the calling process or of a child process of the calling process. AUTHOR
and were developed by HP and the University of California, Berkeley. SEE ALSO
bsdproc(3C), exec(2), exit(2), fork(2), getpid(2), kill(2), setsid(2), signal(2), privileges(5), termio(7). STANDARDS CONFORMANCE
setpgid(2)
All times are GMT -4. The time now is 12:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy