fab-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fab-user] Design pattern for launching a remote program that does n


From: Jeff Forcier
Subject: Re: [Fab-user] Design pattern for launching a remote program that does not return?
Date: Mon, 22 Apr 2019 14:34:24 -0400

Hi Paul,

I believe this falls under a Fabric-level FAQ:

    http://www.fabfile.org/faq.html#why-can-t-i-run-programs-in-the-background-with-it-makes-fabric-hang

The tl;dr is that anything you could use for "ssh -t targethost 'command line here'" which would result in that `ssh` command returning right away, should also work for getting your run() call to return immediately. Some examples are listed in the FAQ, though it's far from exhaustive.

In my own experience, screen or tmux represent the best combination of availability & ease of use.

Best,
Jeff

On Mon, Apr 22, 2019 at 2:24 PM Paul Hoffman <address@hidden> wrote:
Greetings. I use fabric in a testbed that launches commands on a particular remote computer. It works fine for
   c.run("/path/to/command")
when the command is a regular command like "hostname" or when it is a daemon that launches itself in the background.

But I now need to launch what is in essence a command-line program *even though I don't need to interact with the command line*. I will later kill that command using other stuff that works fine with daemons. For example (this is not what I really need to do):
   c.run("/usr/bin/ftp")
In this case, "run" never returns, which of course stops the outer Python program.

Is there a way in Fabric to say "launch this program and return immediately"? I am not seeing it in the invoke.runners.Runner doc, but I could be missing it.

_______________________________________________
Fab-user mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/fab-user


--
Jeff Forcier
Unix sysadmin; Python engineer
http://bitprophet.org

reply via email to

[Prev in Thread] Current Thread [Next in Thread]