Sponsored Content
Top Forums UNIX for Advanced & Expert Users Needs help in launching a console application with the help of daemon process Post 302484805 by gopallinux on Monday 3rd of January 2011 09:49:15 AM
Old 01-03-2011
Needs help in launching a console application with the help of daemon process

Hi All,

I am facing problem in launching a application with the help of a daemon process. Actually the application is based on command line that reads various commands for controlling the application from the console and accordingly executes those commands. The application always interact with console and try to read the command in while loop such as:
Code:
std::getline(std::cin, cmd); 
if(std::cin.fail()) 
{  
 //stop the reading and execution of application
}

In daemon program that launches the application as a child process, after forking and in child process, after setting sid and chdir, we close the descriptor like
Code:
close(STDOUT_FILENO);
close(STDERR_FILENO);

but does not closing the STDIN_FILENO so that the application can read the command from STDIN_FILENO. Daemon process does fork and execv the application so that application can run as a child of daemon process. On Linux, this daemon program for running the application as a child process is working fine. Daemon program runs the application successfully on Linux platform and runs as per the expectation.
But when running the daemon program from windows with the help of plink (for executing the daemon process on Linux platform from window), plink executes the daemon and the daemon process executes the application on Linux but just after 1-2 seconds, application and daemon both stop their execution and child of the application run as a daemon process. Except the child of application, rest all other process like main daemon program, application are stopping the execution. Could you please suggest me what is causing the problem and why from windows (with the help of plink) daemon process and the application is not running as expected on Linux.
Anyone with knowledge of how to get rid of these would be greatly appreciated.
Thanks

Last edited by vbe; 01-03-2011 at 01:12 PM.. Reason: code tags
 

7 More Discussions You Might Find Interesting

1. Programming

Daemon process

Hi, I have to write a daemon process, which performs certain operations in the background. Now since it performs operations in the background, it should not display anything to the standard output. The problem is that it still displays, text on standard output. Can anyone tell me (it is... (2 Replies)
Discussion started by: s_chordia
2 Replies

2. Programming

What is a daemon process?

This is gonna seem really silly to almost evryone here - but I need to know : what is a daemon process? Thanks (6 Replies)
Discussion started by: Kanu77
6 Replies

3. Linux

daemon process

how i will write the daemon process,if any body have sample daemon process send me. (1 Reply)
Discussion started by: suresh_rupineni
1 Replies

4. Red Hat

Problem launching process as BG with &

After i launch the process as back ground, when I try to grab the shell by sending the enter, process is going to Stopped state. How do I successfully run the job in bg with &. Thanks in Advance (1 Reply)
Discussion started by: hansini
1 Replies

5. Programming

Show progress in console application

Hi all I have a program in C++ that I compiled on Ubuntu 9.0 and Centos 5, after I got it running on Windows. In this program, I show progress of a process using the following construct: i = 0; quantum = floor(total_iterations, 100); perc = 0; do { remain = fmod(i, quantum); ... (3 Replies)
Discussion started by: msaqib
3 Replies

6. UNIX for Advanced & Expert Users

Launching a process in remote machine

Hi all, Normally to launch a process in the remote machine I will use ssh to the machine and launch the process.I want to launch the remote machine process with out login into the machine . Is there any way. It may be any workaround method. Thanks in advance .:) (3 Replies)
Discussion started by: karthigayan
3 Replies

7. Programming

Daemon process

I wish to make a process run in the background, but only one instance of it, and not many, so when the program is loaded, it has to check whether another instance of the same program is running and if so to exit. How do I do this ? (4 Replies)
Discussion started by: sundaresh
4 Replies
fsdaemon(1M)															      fsdaemon(1M)

NAME
fsdaemon - pass-through daemon for processing system commands SYNOPSIS
fork] DESCRIPTION
The is a user level daemon that provides a mechanism to pass information between applications and common commands and library functional- ity, allowing certain applications to dynamically add functionality to a system. This is currently only supported for the class of APIs, such as: The API are not yet publicly available, but the commands that use the mentioned APIs depend on this daemon to always be running in the HP- UX environments. Options When is started, indicates whether it should fork a child process and exit the parent process or run just as the parent process and not return. A value of 1 for fork will make fork and exec a child process and then cause the parent process to exit. Kills the current running instance of Tests and waits until is ready to process commands. There is a window where could be started and not yet setup to process commands. The caller should invoke separately with the option to block until is ready to process commands. The entries to start are in the file. These entries be present to ensure correct functionality of the system. They should appear as one of the first entries in placing entries before entries in is dangerous and unsupported. The following are some of the HP-UX commands that use via the above APIs: and RETURN VALUE
: 0 Successful start of If invoked with the option, 0 is always returned. >0 Errno of failure that caused to fail to start. This applies only if was started with the option. ERRORS
If is not running, the errno will be returned by an application that invokes these APIs. If this happens, please see your system adminis- trator to make sure is properly running. EXAMPLES
To start such that it can be invoked without permanently blocking the calling process: To kill the currently running instance of To check to see if the currently running instance of is ready and able to process requests sent to it: The following entries for starting should appear in the file: WARNINGS
The APIs are not yet publicly available, but the commands that use the mentioned family of APIs depend on this daemon to always be running on HP-UX environments. The administrator is not expected to invoke the command from the shell prompt; it should always be started via an entry in This manpage is provided for administrator's trouble shooting purposes, and to allow the system administrator to repair the entries for this daemon in case of corruption. The interface/options provided in this manpage are HP-UX release specific, and may be different in future releases. AUTHOR
was developed by HP. SEE ALSO
fstyp(1M), mkboot(1M), mount(1M), fstatfsdev(3C), fstatvfsdev(3C), statvfsdev(3C), statfsdev(3C), inittab(4). fsdaemon(1M)
All times are GMT -4. The time now is 06:53 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy