-   Linux - Software (
-   -   Process management, bg, fg, CNTL-Z (

markf424 06-07-2003 08:53 AM

Process management, bg, fg, CNTL-Z
Hello to all.

I am running Slackware 9.0 on a box and have the need to send a process to the background without first suspending it. It maintains live socket connections and when I first suspend the process with ^Z, it loses those connections. Is there a way to accomplish this without first suspending the process? I know I can start by running it in the background, but it requires some interaction from the user prior to my need to send it back.

Another question - is it possible for a process (same one) to be brought to the foreground of another user so that they may manage it? In other words, I have a session where I control this process, I send it to the background, and another user takes control of the process?

Thanks for any help you can give.


unSpawn 06-08-2003 09:22 AM

Can't you automate/get rid of the user interaction part?

Linux/GNU doesn't allow you to control other UID's processes unless you have root UID privileges. OTOH if you're talking about daemon stuff, then it's possible to let users control some aspects using control/init scripts, preferably using sudo.

Maybe you should elaborate on what you're trying to do.

markf424 06-08-2003 08:51 PM

Thanks for the reply.

Unfortunately, I can't get rid of the user interaction part because it's essential to the application. It's a trading application which takes order information (share size, profitability requirements, etc) from the user on a dynamic basis. Without the ability to enter these parameters, it becomes fairly useless. The problem is that it maintains live sockets to different quote feeds and if we suspend the process, it loses data on these sockets - not good for a trading app :)

Occasionally, we have the need to pass the application to another user for monitoring, and it's best for us if we don't have to shut it down. My feeling is that this isn't going to be possible without a rework of how we do things. I guess I'll have to think about it, and of course any suggestions are welcome.

Thanks again.

cuicui 07-24-2003 04:19 AM

You could try encapsulating your program in a "screen" session.
Screen is session manager for console mode.

A screen session can encapsulate more than one prog, and can be detached (same as "put in background" but without being suspended)
and reattached after. When a screen session is detached, it's similar to a daemon, as you can logout from the system without terminating it.

I also know there i a multiuser support, but i'm not sure you can attach-detach screen session between different user.

More info can be found on

and the documentation

Hope it helped


All times are GMT -5. The time now is 10:29 PM.