Index: /trunk/FACT++/src/drivectrl.cc
===================================================================
--- /trunk/FACT++/src/drivectrl.cc	(revision 11042)
+++ /trunk/FACT++/src/drivectrl.cc	(revision 11043)
@@ -932,4 +932,11 @@
     // boost::thread t(boost::bind(&StateMachineDrive<S>::Run, &io_service));
 
+    if (conf.Has("exec"))
+    {
+        const vector<string> v = conf.Get<vector<string>>("exec");
+        for (vector<string>::const_iterator it=v.begin(); it!=v.end(); it++)
+            shell.Execute(*it);
+    }
+
     shell.Run();                 // Run the shell
     io_service.Stop();           // Signal Loop-thread to stop
@@ -954,4 +961,5 @@
         ("no-dim,d",  po_switch(),    "Disable dim services")
         ("console,c", var<int>(),     "Use console (0=shell, 1=simple buffered, X=simple unbuffered)")
+        ("exec,e",    vars<strings>(),"Execute one or more scrips at startup")
         ;
 
Index: /trunk/FACT++/src/fadctrl.cc
===================================================================
--- /trunk/FACT++/src/fadctrl.cc	(revision 11042)
+++ /trunk/FACT++/src/fadctrl.cc	(revision 11043)
@@ -1463,4 +1463,11 @@
     //boost::thread t(boost::bind(&StateMachineFAD<S>::Run, &io_service));
 
+    if (conf.Has("exec"))
+    {
+        const vector<string> v = conf.Get<vector<string>>("exec");
+        for (vector<string>::const_iterator it=v.begin(); it!=v.end(); it++)
+            shell.Execute(*it);
+    }
+
     shell.Run();                 // Run the shell
     io_service.Stop();           // Signal Loop-thread to stop
@@ -1484,4 +1491,5 @@
         ("no-dim,d",  po_switch(),    "Disable dim services")
         ("console,c", var<int>(),     "Use console (0=shell, 1=simple buffered, X=simple unbuffered)")
+        ("exec,e",    vars<string>(), "Execute one or more scrips at startup")
         ;
 
Index: /trunk/FACT++/src/fscctrl.cc
===================================================================
--- /trunk/FACT++/src/fscctrl.cc	(revision 11042)
+++ /trunk/FACT++/src/fscctrl.cc	(revision 11043)
@@ -516,4 +516,11 @@
     // boost::thread t(boost::bind(&StateMachineFSC<S>::Run, &io_service));
 
+    if (conf.Has("exec"))
+    {
+        const vector<string> v = conf.Get<vector<string>>("exec");
+        for (vector<string>::const_iterator it=v.begin(); it!=v.end(); it++)
+            shell.Execute(*it);
+    }
+
     shell.Run();                 // Run the shell
     io_service.Stop();           // Signal Loop-thread to stop
@@ -538,4 +545,5 @@
         ("no-dim,d",  po_bool(),      "Disable dim services")
         ("console,c", var<int>(),     "Use console (0=shell, 1=simple buffered, X=simple unbuffered)")
+        ("exec,e",    vars<string>(), "Execute one or more scrips at startup")
         ;
 
Index: /trunk/FACT++/src/ftmctrl.cc
===================================================================
--- /trunk/FACT++/src/ftmctrl.cc	(revision 11042)
+++ /trunk/FACT++/src/ftmctrl.cc	(revision 11043)
@@ -1844,4 +1844,11 @@
     // boost::thread t(boost::bind(&StateMachineFTM<S>::Run, &io_service));
 
+    if (conf.Has("exec"))
+    {
+        const vector<string> v = conf.Get<vector<string>>("exec");
+        for (vector<string>::const_iterator it=v.begin(); it!=v.end(); it++)
+            shell.Execute(*it);
+    }
+
     shell.Run();                 // Run the shell
     io_service.Stop();           // Signal Loop-thread to stop
@@ -1866,4 +1873,5 @@
         ("no-dim,d",  po_bool(),      "Disable dim services")
         ("console,c", var<int>(),     "Use console (0=shell, 1=simple buffered, X=simple unbuffered)")
+        ("exec,e",    vars<string>(), "Execute one or more scrips at startup")
         ;
 
Index: /trunk/FACT++/src/scheduler.cc
===================================================================
--- /trunk/FACT++/src/scheduler.cc	(revision 11042)
+++ /trunk/FACT++/src/scheduler.cc	(revision 11043)
@@ -783,4 +783,10 @@
 
     //io_service.SetReady();
+    if (conf.Has("exec"))
+    {
+        const vector<string> v = conf.Get<vector<string>>("exec");
+        for (vector<string>::const_iterator it=v.begin(); it!=v.end(); it++)
+            shell.Execute(*it);
+    }
 
     shell.Run();                 // Run the shell
@@ -804,8 +810,12 @@
     po::options_description config("Configuration");
     config.add_options()
-        ("dns",               var<string>("localhost"),  "Dim nameserver host name (Overwites DIM_DNS_NODE environment variable)")
-        ("log,l",             var<string>(n), "Write log-file")
-        ("no-dim,d",          po_switch(),    "Disable dim services")
-        ("console,c",         var<int>(),     "Use console (0=shell, 1=simple buffered, X=simple unbuffered)")
+        ("dns",       var<string>("localhost"),  "Dim nameserver host name (Overwites DIM_DNS_NODE environment variable)")
+        ("log,l",     var<string>(n), "Write log-file")
+        ("no-dim,d",  po_switch(),    "Disable dim services")
+        ("console,c", var<int>(),     "Use console (0=shell, 1=simple buffered, X=simple unbuffered)")
+        ("exec,e",    vars<string>(), "Execute one or more scrips at startup");
+
+    po::options_description control("Scheduler options");
+    control.add_options()
         ("schedule-database", var<string>()
 #if BOOST_VERSION >= 104200
@@ -836,4 +846,5 @@
     conf.AddEnv("dns", "DIM_DNS_NODE");
     conf.AddOptions(config);
+    conf.AddOptions(control);
     conf.SetArgumentPositions(p);
 }
