Sponsored Content
Top Forums Shell Programming and Scripting Funny : why can't I kill my parent terminal in a script ? Post 302475118 by xib.be on Friday 26th of November 2010 01:05:54 PM
Old 11-26-2010
Hi thank you both of you for your advices Smilie

Finally, I found my "error" or maybe I should say another way. It wasn't the PPID I had to kill ... but the PPPID x) and I can kill it without any trouble contrary to PPID.
Here is my script : "launch-and-kill-terminal-window"
Code:
#!/bin/bash
($@&)
#kill  $PPID #--> KO cause this is the bash pid and not the "xterm" pid
pppid=`ps -p $PPID -o ppid=`
kill $pppid

then you can launch any program from your terminal wihtout having to close your terminal window manually Smilie
for example:
Code:
$ ./launch-and-kill-terminal-window xclock

et voilą Smilie
just my xclock window... no more xterm window

NB this works well in xterm ... in a gnome-terminal, it closes ALL your gnome-terminal windows, cause gnome-terminal works differently from xterm (again an example why you should use standards :P)



@ctsgnb
I think the line
Code:
#!/bin/bash

is important in a script as not evrybody use bash by default. And depending on the interpreter some things change. for example if I remeber tcsh uses variables differently from bash

I've tried with exec but I didn't manage to make it work as I wanted

@ygemici thank you very much for your script. very nice tricks I'll add to my script

Last edited by xib.be; 11-26-2010 at 02:14 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

kill parent and child

Hello all, I have gone through the search and looked at posting about idle users and killing processes. Here is my question I would like to kill an idle user ( which I can do) but how can I asure that all of his process is also killed whit out tracing his inital start PID. I have tried this on a... (4 Replies)
Discussion started by: larry
4 Replies

2. Shell Programming and Scripting

How to kill history from terminal to others using same id

I have a application ID and many users in the team are using this id. I dont want the people to check whati am running with the id from my terminal. is there a way to kill history get back from my console to everybody so thatwhat ever i type in my console cant be seen from other users who are... (5 Replies)
Discussion started by: dsravan
5 Replies

3. UNIX for Dummies Questions & Answers

Need help to kill parent and all of its sub processes

Hi, I am writing korn shell script. My requirement is, i have to kill the parent process and all of its child processes. Can some one please help me on this? Thanks in advance for your help.. (1 Reply)
Discussion started by: Sheethal
1 Replies

4. Shell Programming and Scripting

Kill a process from parent shell within a shell script

Hi, I am looking for a solution for the following problem: Im Using tcpdump within a shellskript started in a subshell by using brackets: ( /usr/sbin/tcpdump -i ... -c 1 ) - I want the outout of tcpdump saved in a variable - Than tcpdump-Process in the Subshell should be killed - and I... (6 Replies)
Discussion started by: 2retti
6 Replies

5. UNIX for Dummies Questions & Answers

Kill child processes, when parent is "bash"

Consider this simple command line bash -c 'echo $$ ; sleep 10000'This will print the newly created bash PID and sleep for a long time. If I go to another terminal and do something like ps -flax | grep leepI'll see something like 501 92418 91910 0 0:00.00 ttys000 0:00.00 bash -c echo $$... (5 Replies)
Discussion started by: teras
5 Replies

6. Shell Programming and Scripting

shell script to kill process with respect to terminal

Hi, I've a script which kills all process, but i need a script shell script(sh), where it'll kill process on that particular terminal. below is example TY=`tty` for P in $TY do `kill -9 $P 2>/dev/null`; done echo "test process killed" break ... (3 Replies)
Discussion started by: asak
3 Replies

7. Shell Programming and Scripting

forking a child process and kill its parent to show that child process has init() as its parent

Hi everyone i am very new to linux , working on bash shell. I am trying to solve the given problem 1. Create a process and then create children using fork 2. Check the Status of the application for successful running. 3. Kill all the process(threads) except parent and first child... (2 Replies)
Discussion started by: vizz_k
2 Replies

8. Shell Programming and Scripting

Kill Parent/ Child processes

I am trying to kill PIDs that are tied to a KSH "load_sqlplus" and I am using the below code LIST_PID=`ps -ef | grep -i "load_sqlplus" | grep -v grep | awk '{print $2}'` if ; then echo "Processes killed" "PID : " $LIST_PID kill -9 $LIST_PID else echo "Nothing to Kill" fi... (4 Replies)
Discussion started by: venky338
4 Replies

9. Shell Programming and Scripting

Kill specific terminal using shell/bash

Hello elite shell/bash specialists, I have done plenty of STFW and some RTFM, but I cannot find a clear solution to my challenge Goal: My goal is to have a script(of any language, preferably shell/bash/anything that can run things on unix), which will kill specific unix terminal windows for... (0 Replies)
Discussion started by: kamil-mech
0 Replies

10. Shell Programming and Scripting

System should not kill the child process when parent id is 1

HI i would like to know how i can simulate a shell scripts for my requirement. example Server name child Process id Parent Process id Vpesh 16013 15637 Server name child Process id Parent Process id Vpesh 16014 15637 Server name child... (1 Reply)
Discussion started by: vpesh
1 Replies
gnome-terminal(1)						   User Commands						 gnome-terminal(1)

NAME
gnome-terminal - terminal emulator for GNOME SYNOPSIS
gnome-terminal [--window-with-profile=profilename] [--tab-with-profile=profilename] [--command command] [--execute command] [--role=role] [--show-menubar | --hide-menubar] [--use-factory | --disable-factory] [--title=title] [--working-directory=dirname] [gnome-std-options] DESCRIPTION
gnome-terminal is the GNOME terminal emulation program. It provides access to the UNIX shell on the GNOME environment. gnome-terminal sup- ports multiple profiles to allow easy switching between preferences, and supports tabbing so that multiple terminals can be managed from a single window. By default, all GNOME terminals share a single process, reducing memory usage. This can be disabled by starting gnome-ter- minal with the --disable-factory option. OPTIONS
The following options are supported: --command commanExecutes the command command instead of the shell. This saves some memory if you just plan to run a dedicated application on that window. You can also use -e to specify this option. --execute commanThis option is provided for compatibility reasons. It is the same as the --command option. You can also use -x to specify this option. --disable-factorDo not register with the activation name server, and do not reuse an already running GNOME terminal process. --hide-menubar Hide the menubar. This applies only to one window. When used with multiple --window-with-profile options, it applies to the --window-with-profile option immediately to the left. Can be specified multiple times, once for each --window-with-profile option. --role=role The GNOME session manager follows the ICCCM convention of using the window title and the window role to identify specific windows. The session manager uses this information to put windows back in the same place when the user restarts their ses- sion. If all windows have a unique title, there is no need to set the role. However, as it is common for multiple GNOME terminals to have the same title, the user can also specify the role on the command line with the --role option. This helps the session manager to properly identify and restart each GNOME terminal (in the same location, and so on). When used with multiple --window-with-profile options, it applies to the --window-with-profile option immediately to the left. Can be specified multiple times, once for each --window-with-profile option. --show-menubar Show the menubar. This applies only to one window. When used with multiple --window-with-profile options, it applies to the --window-with-profile option immediately to the left. Can be specified multiple times, once for each --window-with-profile option. --tab-with-profiCreatesilanatab that uses the specified profile. This argument may be specified multiple times to create multiple tabs in a terminal. If this is used with multiple --window-with-profile options, the tab is created for the window that corresponds to the --window-with-profile option immediately to the left. --title=title Set the title for the GNOME terminal to be title. --use-factory Register with the activation name server, and reuse an already running GNOME terminal process. --window-with-prCreatesroaiGNOMEeterminal and a tab that uses the specified profile. This may be used with the --tab-with-profile option to create additional tabs. Multiple --window-with-profile options can be specified to create multiple GNOME terminal windows. All options specified after an --window-with-profile option apply to that --window-with-profile option only. --working-directSet=thenworking directory for the GNOME terminal to be dirname. gnome-std-optionStandard options available for use with most GNOME applications. See gnome-std-options(5) for more information. EXTENDED DESCRIPTION
gnome-terminal is designed to emulate the xterm program provided by the X Consortium. The xterm(1) program in turn is an almost-complete emulation of the DEC VT102 terminal. gnome-terminal supports the same extensions to the VT102 as those provided by the xterm program, through special escape sequences. The xterm program is an evolving program. Recent changes to xterm have been been incorporated into gnome- terminal. This includes emulation of the newer DEC VT220 escape sequences. EXAMPLES
Example 1: Running the `minicom' terminal emulator on the window example% gnome-terminal --command minicom Example 2: Monitoring the system example% gnome-terminal --command top Example 3: Starting two windows with different profiles example% gnome-terminal --window-with-profile=FirstProfile --tab-with-profile=SecondProfile --window-with-profile=SecondProfile In this example, the first window will have two tabs (FirstProfile and SecondProfile) and the second window will have one tab (SecondPro- file). ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables, set by gnome-terminal: TERM This variable is set to xterm by default. Some implementations of curses, and applications based on curses, may prefer the value to be xterm-color, color-xterm, or xterm-debian to support color. Users might need to change this setting to one of these values to enable color for such applications. COLORTERM This variable is set to xterm. Various applications (especially the Slang-based applications) use this setting to determine whether the terminal supports color. WINDOWID This variable contains the X11 Window identifier. This is sometimes used by applications to modify the contents of this window or provide special effects. EXIT STATUS
The following exit values are returned: 0 Application exited successfully >0 Application exited with failure FILES
The following files are used by this application: /usr/bin/gnome-terminal Executable for GNOME terminal emulator ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWgnome-terminal | +-----------------------------+-----------------------------+ |Interface stability |External | +-----------------------------+-----------------------------+ SEE ALSO
gnome-session(1), xterm(1), vte(1), libvte(3), gnome-std-options(5) Latest version of the GNOME Desktop User Guide for your platform. NOTES
Written by Michael Zucchi, Miguel de Icaza, Erik Troan. Updated by Brian Cameron, Sun Microsystems Inc., 2003, 2004. SunOS 5.10 31 Aug 2004 gnome-terminal(1)
All times are GMT -4. The time now is 02:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy