05-25-2011
A Program Which Generates a Script Which Kills It
I have a C++ program, running on Fedora Linux, which has to be able to update itself to a new version, which it can obtain from a server. The way I do this is to have it create a shell script which kills it (the parent process), uninstalls it, downloads the new version (actually it does this first), installs the new version, starts the new version in the background, and deletes itself (the shell script file). I create and run the shell script from the parent program by issuing system commands. I have done this successfully both with system() and popen(). Here is an example:
int i = system("cd /tmp;/tmp/LTUpdateVersion &");
where UpdateVersion is the generated shell script. Here is the problem. Once the parent process is killed, any command in the script which would normally show progress on the screen, such as untarring files, or any echo comands, produce an error message like, "Write error: broken pipe."
How can I generate a shell script from a running process, which then kills the process, but is still able to echo messages to the screen?
Thanks.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
When I run the following script I get the following error message whcih I would like to suppress when the kill is issued:
./kill.sh: line 13: 31854 Killed nc -l -p 12345
Script:
#!/bin/bash
echo running nc in the background
nc -l -p 12345 &
PID=$!
echo nc pid: $PID
... (1 Reply)
Discussion started by: cmarkle
1 Replies
2. UNIX for Dummies Questions & Answers
Hi,
i want to write a script that executes a program (exec?) .
this program then requires a filename as input.
how do i give it this input in the script so the program will be complete run and close by the script.
e.g.
exec prog.exe
program then asks for filename
"enter filename:"... (1 Reply)
Discussion started by: tuathan
1 Replies
3. Shell Programming and Scripting
Hello everyone,
I'm trying to write a script, i would like to say the child kills the parent,
how would i do that? (2 Replies)
Discussion started by: jessy21
2 Replies
4. Shell Programming and Scripting
Hi all,
we do have daily oracle database backups and i need to generate report of each database start point and end point
we are using netapp snapshot(filer level) for backups.
all backups logs will be come in one directory
/u01/app/oracle/backup/hostname/log/*
here... (7 Replies)
Discussion started by: prakashdba2010
7 Replies
5. Shell Programming and Scripting
Can anyone create or give me a script that I can use to email a user automatically when I kill one of their processes?
Or
Can you give me a script to allow me to email a user (entering email manually) when a process is killed? Like showing what the PID was and a reason the admin killed it? Is... (2 Replies)
Discussion started by: JoeGazz84
2 Replies
6. Solaris
Hi
A file is generated/created/modified during installation (or) execution of a script.
vice versa..How to find out which script is responsible for creating/modifying a file.
Example:- ....An existing file ( hosts.ulcm ), this file is created or modified by running a script ( may be... (1 Reply)
Discussion started by: frintocf
1 Replies
7. Shell Programming and Scripting
I'm likely going to explain this clumsily, so apologies in advance:
I have the following script:
#!/bin/bash
pidPrefix="logGen"
checkPrime ()
{
if /sbin/ifconfig eth0:0|/bin/grep -wq inet;then isPrime=1;else isPrime=0;fi
}
killScript ()
{
/usr/bin/find /var/run -name... (4 Replies)
Discussion started by: DeCoTwc
4 Replies
8. UNIX for Dummies Questions & Answers
hi I have a script with HTML code and am currently generating the html page everytime using genWebsite.sh > startPage.html
Is it possible to have a loop at the begining of the script to run this command every minute so an updated HTML page is displayed or could someone suggest an alternative... (2 Replies)
Discussion started by: scriptnewbie
2 Replies
9. Shell Programming and Scripting
This is on a CentOS box, I have two scripts that need to run in order.
I want to write a shell script that calls the first script, lets it run and then terminates it after a certain number of hours (that I specify of course), and then calls the second script (they can't run simultaneously) which... (3 Replies)
Discussion started by: btramer
3 Replies
10. Shell Programming and Scripting
Hi there,
I'm trying to run a script remotely on a server in a particular directory named after hostname which already exists, my login session gets killed as soon as I run the below command. Not sure what is wrong, is there a better way to do it ?
Note: I can also use nohup command to run... (14 Replies)
Discussion started by: mbak
14 Replies
LEARN ABOUT SUSE
mysql_fix_privilege_tables
MYSQL_FIX_PRIVILE(1) MySQL Database System MYSQL_FIX_PRIVILE(1)
NAME
mysql_fix_privilege_tables - upgrade MySQL system tables
SYNOPSIS
mysql_fix_privilege_tables --password=root_password
DESCRIPTION
Note
In MySQL 5.1.7, mysql_fix_privilege_tables was superseded by mysql_upgrade, which should be used instead. See mysql_upgrade(1).
Some releases of MySQL introduce changes to the structure of the system tables in the mysql database to add new privileges or support new
features. When you update to a new version of MySQL, you should update your system tables as well to make sure that their structure is up
to date. Otherwise, there might be capabilities that you cannot take advantage of.
mysql_fix_privilege_tables is an older script that previously was used to uprade the system tables in the mysql database after a MySQL
upgrade.
Before running mysql_fix_privilege_tables, make a backup of your mysql database.
On Unix or Unix-like systems, update the system tables by running the mysql_fix_privilege_tables script:
shell> mysql_fix_privilege_tables
You must run this script while the server is running. It attempts to connect to the server running on the local host as root. If your root
account requires a password, indicate the password on the command line like this:
shell> mysql_fix_privilege_tables --password=root_password
The mysql_fix_privilege_tables script performs any actions necessary to convert your system tables to the current format. You might see
some Duplicate column name warnings as it runs; you can ignore them.
After running the script, stop the server and restart it so that any changes made to the system tables take effect.
On Windows systems, MySQL distributions include a mysql_fix_privilege_tables.sql SQL script that you can run using the mysql client. For
example, if your MySQL installation is located at C:Program FilesMySQLMySQL Server 5.1, the commands look like this:
C:> cd "C:Program FilesMySQLMySQL Server 5.1"
C:> binmysql -u root -p mysql
mysql> SOURCE share/mysql_fix_privilege_tables.sql
Note
Prior to version 5.1.17, the mysql_fix_privilege_tables.sql script is found in the scripts directory.
The mysql command will prompt you for the root password; enter it when prompted.
If your installation is located in some other directory, adjust the path names appropriately.
As with the Unix procedure, you might see some Duplicate column name warnings as mysql processes the statements in the
mysql_fix_privilege_tables.sql script; you can ignore them.
After running the script, stop the server and restart it.
COPYRIGHT
Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc.
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as
published by the Free Software Foundation; version 2 of the License.
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
SEE ALSO
For more information, please refer to the MySQL Reference Manual, which may already be installed locally and which is also available online
at http://dev.mysql.com/doc/.
AUTHOR
Sun Microsystems, Inc. (http://www.mysql.com/).
MySQL 5.1 04/06/2010 MYSQL_FIX_PRIVILE(1)