Skip to content
Snippets Groups Projects
Commit 9d261cd2 authored by Anastasia Karachaliou's avatar Anastasia Karachaliou
Browse files

Daemonize if not run in foreground and set User cta and Group tape in acsd daemon.

parent 5e3ef0f9
No related branches found
No related tags found
No related merge requests found
......@@ -136,11 +136,11 @@ int AcsDaemon::main() throw() {
void AcsDaemon::exceptionThrowingMain(
const int argc, char **const argv) {
logStartOfDaemon(argc, argv);
AcsdCmdLine(argc,argv); //parse command line
const std::string runAsStagerSuperuser = "ACSD";
const std::string runAsStagerSupergroup = "CTA";
//daemonizeIfNotRunInForegroundAndSetUserAndGroup(runAsStagerSuperuser, runAsStagerSupergroup);
AcsdCmdLine Commandline(argc,argv); //parse command line
setCommandLineHasBeenParsed(Commandline.foreground);
const std::string runAsStagerSuperuser = m_config.daemonUserName.value();;
const std::string runAsStagerSupergroup = m_config.daemonGroupName.value();;
daemonizeIfNotRunInForegroundAndSetUserAndGroup(runAsStagerSuperuser, runAsStagerSupergroup);
setDumpable();
blockSignals();
......
......@@ -34,11 +34,15 @@ cta::mediachanger::acs::daemon::AcsdConfiguration cta::mediachanger::acs::daemon
ret.port.setFromConfigurationFile(cf, generalConfigPath);
ret.QueryInterval.setFromConfigurationFile(cf, generalConfigPath);
ret.CmdTimeout.setFromConfigurationFile(cf, generalConfigPath);
ret.daemonUserName.setFromConfigurationFile(cf, generalConfigPath);
ret.daemonGroupName.setFromConfigurationFile(cf, generalConfigPath);
// If we get here, the configuration file is good enough to be logged.
ret.port.log(log);
ret.QueryInterval.log(log);
ret.CmdTimeout.log(log);
ret.daemonUserName.log(log);
ret.daemonGroupName.log(log);
return ret;
}
......
......@@ -50,7 +50,10 @@ struct AcsdConfiguration {
"acsd", "QueryInterval", (long unsigned int)ACS_QUERY_INTERVAL, "Compile time default"};
SourcedParameter<uint64_t> CmdTimeout{
"acsd", "CmdTimeout",(long unsigned int) ACS_CMD_TIMEOUT, "Compile time default"};
SourcedParameter<std::string> daemonUserName{
"acsd", "DaemonUserName", "cta", "Compile time default"};
SourcedParameter<std::string> daemonGroupName{
"acsd", "DaemonGroupName", "tape", "Compile time default"};
private:
/** A private dummy logger which will simplify the implementation of the
* functions (just unconditionally log things). */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment