मुझे अपने प्रश्न को हल करने के लिए एक विधि मिली, निम्नलिखित सी कोड संकलित करें और exjob आउटपुट runjob.exe के रूप में नामित करें, और फिर हुक बल्ले फ़ाइल में, "runjob another_prog" का उपयोग करें, अब यह ठीक है।
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
int _tmain()
{
char * pCmd = ::GetCommandLine();
// skip the executable
if (*pCmd++ == L'"')
{
while (*pCmd++ != L'"');
}
else
{
while (*pCmd != NULL && *pCmd != L' ')
++pCmd;
}
while (*pCmd == L' ')
pCmd++;
STARTUPINFO si;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
PROCESS_INFORMATION pi;
ZeroMemory(&pi, sizeof(pi));
// Start the child process.
BOOL result = CreateProcess
(
NULL, // No module name (use command line)
pCmd, // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set bInheritHandles to FALSE
DETACHED_PROCESS, // Detach process
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi // Pointer to PROCESS_INFORMATION structure (returned)
);
if (result) return 0;
char msg[2048];
FormatMessage
(
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
::GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT),
msg, sizeof(msg),
NULL
);
fputs(msg, stderr);
_flushall();
return -1;
}
आप कर सकते हैं स्पष्ट करें कि आप किस समस्या को हल करने की कोशिश कर रहे हैं? क्या यह वास्तव में मामला है कि सबवर्जन पोस्ट-प्रतिबद्ध हुक सभी प्रक्रियाओं से बाहर निकलने के लिए इंतजार कर रहा है? क्यों cmd / c startWebLogic.cmd' काम शुरू नहीं करते? – Cheeso
शुरू cmd/c काम नहीं करता है क्योंकि एसवीएन पोस्ट-प्रतिबद्ध हुक हुक के बाहर इंतजार करेगा और ** बच्चे ** प्रक्रिया हुक निकास द्वारा बनाई गई है। यह एसवीएन का डिजाइन है। मुझे एक समाधान मिला है, कृपया देखें: http://svn.haxx.se/users/archive-2008-11/0301.shtml – zhongshu