473,385 Members | 2,014 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

Launch script on Linux using Putty

Hello,

I have a python script which runs all the time (using of library
threading). I would like this scipt to run on a remote linux Os using
Putty. The problem is, when I close Putty command line window running
on my Win PC, the python script stops to run too.

I tried to use cron tables instead. By setting the time and restart
cron process, but it's not practical.

Do you know the right way to do this ?

Regards

Apr 1 '07 #1
8 8798
Ulysse wrote:
Hello,

I have a python script which runs all the time (using of library
threading). I would like this scipt to run on a remote linux Os using
Putty. The problem is, when I close Putty command line window running
on my Win PC, the python script stops to run too.

I tried to use cron tables instead. By setting the time and restart
cron process, but it's not practical.

Do you know the right way to do this ?
There are a few ways to do this, in order of easiest to most involved:

1. The easiest is to run nohup on your script in the background:

$ nohup myscript.py output.txt 2error.txt &

Then you can disconnect but your script will keep running. Try man nohup
for more information.

2. Use GNU screen on your remote terminal, and detach the screen instead
of logging off.

3. Set up your script to fork as a daemon. Google for ["python cookbook"
fork daemon] to find a few recipes for this.
--
Michael Hoffman
Apr 1 '07 #2
On Apr 2, 12:56 am, Michael Hoffman <cam.ac...@mh391.invalidwrote:
Ulysse wrote:
Hello,
I have a python script which runs all the time (using of library
threading). I would like this scipt to run on a remote linux Os using
Putty. The problem is, when I close Putty command line window running
on my Win PC, the python script stops to run too.
I tried to use cron tables instead. By setting the time and restart
cron process, but it's not practical.
Do you know the right way to do this ?

There are a few ways to do this, in order of easiest to most involved:

1. The easiest is to run nohup on your script in the background:

$ nohup myscript.py output.txt 2error.txt &

Then you can disconnect but your script will keep running. Try man nohup
for more information.

2. Use GNU screen on your remote terminal, and detach the screen instead
of logging off.

3. Set up your script to fork as a daemon. Google for ["python cookbook"
fork daemon] to find a few recipes for this.
--
Michael Hoffman
Thanks a lot but in my situation :

1. nohup seems not to be installed on my "reduced linux distribution".
It's a OpenWrt tunning on my WRT54GL Broadband router.

2. I have looked for the way I can "detach the screen" with Putty but
I've not found (May be you can precise ?)

3. The "fork daemon" script found on http://aspn.activestate.com/ASPN/Coo.../Recipe/278731
seems to be as huge as my own script and little bit hard to undestand.

So maybe "detach the screen" ?

Thanks

Apr 2 '07 #3
On Apr 2, 1:51 pm, "Ulysse" <maxim...@gmail.comwrote:
On Apr 2, 12:56 am, Michael Hoffman <cam.ac...@mh391.invalidwrote:
Ulysse wrote:
Hello,
I have a python script which runs all the time (using of library
threading). I would like this scipt to run on a remote linux Os using
Putty. The problem is, when I close Putty command line window running
on my Win PC, the python script stops to run too.
I tried to use cron tables instead. By setting the time and restart
cron process, but it's not practical.
Do you know the right way to do this ?
There are a few ways to do this, in order of easiest to most involved:
1. The easiest is to run nohup on your script in the background:
$ nohup myscript.py output.txt 2error.txt &
Then you can disconnect but your script will keep running. Try man nohup
for more information.
2. Use GNU screen on your remote terminal, and detach the screen instead
of logging off.
3. Set up your script to fork as a daemon. Google for ["python cookbook"
fork daemon] to find a few recipes for this.
--
Michael Hoffman

Thanks a lot but in my situation :

1. nohup seems not to be installed on my "reduced linux distribution".
It's a OpenWrt tunning on my WRT54GL Broadband router.

2. I have looked for the way I can "detach the screen" with Putty but
I've not found (May be you can precise ?)

3. The "fork daemon" script found onhttp://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/278731
seems to be as huge as my own script and little bit hard to undestand.

So maybe "detach the screen" ?

Thanks
Try running the script with the ampersand (&) at the end.

../myscript.py &

that will put it in the background and you can exit the Putty window.

You can start the script at boot by adding it to rc.local using the
full path to the script.

/path/to/myscript.py &

Apr 2 '07 #4
On Apr 2, 2:07 pm, "ihccab" <ihc...@gmail.comwrote:
On Apr 2, 1:51 pm, "Ulysse" <maxim...@gmail.comwrote:
On Apr 2, 12:56 am, Michael Hoffman <cam.ac...@mh391.invalidwrote:
Ulysse wrote:
Hello,
I have a python script which runs all the time (using of library
threading). I would like this scipt to run on a remote linux Os using
Putty. The problem is, when I close Putty command line window running
on my Win PC, the python script stops to run too.
I tried to use cron tables instead. By setting the time and restart
cron process, but it's not practical.
Do you know the right way to do this ?
There are a few ways to do this, in order of easiest to most involved:
1. The easiest is to run nohup on your script in the background:
$ nohup myscript.py output.txt 2error.txt &
Then you can disconnect but your script will keep running. Try man nohup
for more information.
2. Use GNU screen on your remote terminal, and detach the screen instead
of logging off.
3. Set up your script to fork as a daemon. Google for ["python cookbook"
fork daemon] to find a few recipes for this.
--
Michael Hoffman
Thanks a lot but in my situation :
1. nohup seems not to be installed on my "reduced linux distribution".
It's a OpenWrt tunning on my WRT54GL Broadband router.
2. I have looked for the way I can "detach the screen" with Putty but
I've not found (May be you can precise ?)
3. The "fork daemon" script found onhttp://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/278731
seems to be as huge as my own script and little bit hard to undestand.
So maybe "detach the screen" ?
Thanks

Try running the script with the ampersand (&) at the end.

./myscript.py &

that will put it in the background and you can exit the Putty window.

You can start the script at boot by adding it to rc.local using the
full path to the script.

/path/to/myscript.py &
To check that is is running in the background, do:
ps -ef | grep myscript.py

You will see the process table entry for your script with the PID and
other info.

Apr 2 '07 #5
[Michael Hoffman]
>1. The easiest is to run nohup on your script in the background:

$ nohup myscript.py output.txt 2error.txt &

Then you can disconnect but your script will keep running. Try man nohup
for more information.

2. Use GNU screen on your remote terminal, and detach the screen instead
of logging off.

3. Set up your script to fork as a daemon. Google for ["python cookbook"
fork daemon] to find a few recipes for this.
[Ulysse]
1. nohup seems not to be installed on my "reduced linux distribution".
It's a OpenWrt tunning on my WRT54GL Broadband router.
If you are running bash, you can do this:

$ myscript.py &
[1] 30834

$ disown %1
2. I have looked for the way I can "detach the screen" with Putty but
I've not found (May be you can precise ?)
Google for GNU screen. But it probably won't be installed either, if
nohup isn't.
3. The "fork daemon" script found on http://aspn.activestate.com/ASPN/Coo.../Recipe/278731
seems to be as huge as my own script and little bit hard to undestand.
OK, another alternative is to simulate nohup yourself, using the signal
module. You might want to read the docs and search the cookbook for
examples of its use. I think it would be something like:

import signal

signal.signal(signal.SIGHUP, signal.SIG_IGN)
--
Michael Hoffman
Apr 2 '07 #6
On 2007-04-02, Michael Hoffman <ca*******@mh391.invalidwrote:
>>1. The easiest is to run nohup on your script in the background:

$ nohup myscript.py output.txt 2error.txt &

Then you can disconnect but your script will keep running. Try man nohup
for more information.

2. Use GNU screen on your remote terminal, and detach the screen instead
of logging off.

3. Set up your script to fork as a daemon. Google for ["python cookbook"
fork daemon] to find a few recipes for this.

[Ulysse]
>1. nohup seems not to be installed on my "reduced linux distribution".
It's a OpenWrt tunning on my WRT54GL Broadband router.

If you are running bash, you can do this:
He's not running bash. He's running busybox's shell.

[He'd be far better off asking his question in an OpenWRT or
Busybox forum, since it's got absolutely nothing to do with
Python.]

--
Grant Edwards grante Yow! They don't hire
at PERSONAL PINHEADS,
visi.com Mr. Toad!
Apr 2 '07 #7
[Michael Hoffman]
>If you are running bash, you can do this:
[Grant Edwards]
He's not running bash. He's running busybox's shell.
There's a nohup applet for busybox.
[He'd be far better off asking his question in an OpenWRT or
Busybox forum, since it's got absolutely nothing to do with
Python.]
I was going to say that originally, but then I realized that the daemon
solution is on-topic. So is masking SIGHUP.
--
Michael Hoffman
Apr 2 '07 #8
On Apr 2, 8:54 pm, Michael Hoffman <cam.ac...@mh391.invalidwrote:
[Michael Hoffman]
If you are running bash, you can do this:

[Grant Edwards]
He's not running bash. He's running busybox's shell.

There's a nohup applet for busybox.
[He'd be far better off asking his question in an OpenWRT or
Busybox forum, since it's got absolutely nothing to do with
Python.]

I was going to say that originally, but then I realized that the daemon
solution is on-topic. So is masking SIGHUP.
--
Michael Hoffman
Actually the "./myscript.py &" command seems to work well. I can close
the Putty console, and then after logging the command "top" show me
that my process is still running.

Apr 2 '07 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: Bob Bedford | last post by:
I've a script that must "launch" an other script on some situations. firstscript.php: .... If ($newarticle) //launch secondscript.php .... The "secondscript.php" may take quite long, and is...
7
by: Dan V. | last post by:
Situation: I have to connect with my Windows 2000 server using VS.NET 2003 and C# and connect to a remote Linux server at another company's office and query their XML file. Their file may be...
8
by: Harlin Seritt | last post by:
I have a remote linux server where I can only access it via ssh. I have a script that I need to have run all the time. I run like so: python script.py & It runs fine. When I log off ssh I...
16
by: kinane3 | last post by:
I'm been using dev environments like Dreamweaver with ASP for years and recently got a php job that requires SSH to access the server. Command line is really new to me and I need to learn this. ...
3
by: shybe | last post by:
Ok, Im trying to create a "send this article to a friend" script for my blog, Right now its sending all the articles, but I want it to only send the article in which the form is attached...
5
by: aha | last post by:
Hello All, I have a situation where I can count on a Python installation being available on a system, but I can't count on it being a version of Python needed by my application. Since my...
2
jwwicks
by: jwwicks | last post by:
C/C++ Programs and Debugging in Linux This tutorial will give you a basic idea how to debug a program in Linux using GDB. As you are aware Visual Studio doesn’t run on Linux so you have to use...
7
by: Samuel A. Falvo II | last post by:
I have a shell script script.sh that launches a Java process in the background using the &-operator, like so: #!/bin/bash java ... arguments here ... & In my Python code, I want to invoke...
20
by: macca | last post by:
Hi, I just started a new web developer job (my first actually) and the machine they gave me to use is a Mac. Two days in and I'm running a Win XP environment on my Mac at work (using VMWare), ...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.