Merge pull request #4866 from taosdata/hotfix/sangshuduo/TD-2705-shutdown-signal-cmdline-info
[TD-2705] fix: provide cmdline info when a shutdown signal received.
This commit is contained in:
commit
26eabcd9b0
|
@ -160,7 +160,7 @@ static void signal_handler(int32_t signum, siginfo_t *sigInfo, void *context) {
|
||||||
syslog(LOG_INFO, "Shut down signal is %d", signum);
|
syslog(LOG_INFO, "Shut down signal is %d", signum);
|
||||||
syslog(LOG_INFO, "Shutting down TDengine service...");
|
syslog(LOG_INFO, "Shutting down TDengine service...");
|
||||||
// clean the system.
|
// clean the system.
|
||||||
dInfo("shut down signal is %d, sender PID:%d", signum, sigInfo->si_pid);
|
dInfo("shut down signal is %d, sender PID:%d cmdline:%s", signum, sigInfo->si_pid, taosGetCmdlineByPID(sigInfo->si_pid));
|
||||||
|
|
||||||
// protect the application from receive another signal
|
// protect the application from receive another signal
|
||||||
struct sigaction act = {{0}};
|
struct sigaction act = {{0}};
|
||||||
|
|
|
@ -32,6 +32,7 @@ void taosPrintOsInfo();
|
||||||
int taosSystem(const char * cmd) ;
|
int taosSystem(const char * cmd) ;
|
||||||
void taosKillSystem();
|
void taosKillSystem();
|
||||||
bool taosGetSystemUid(char *uid);
|
bool taosGetSystemUid(char *uid);
|
||||||
|
char *taosGetCmdlineByPID(int pid);
|
||||||
|
|
||||||
// TAOS_OS_FUNC_SYSINFO_CORE
|
// TAOS_OS_FUNC_SYSINFO_CORE
|
||||||
void taosSetCoreDump();
|
void taosSetCoreDump();
|
||||||
|
|
|
@ -39,4 +39,22 @@ void osInit() {
|
||||||
strcpy(tsDnodeDir, "");
|
strcpy(tsDnodeDir, "");
|
||||||
strcpy(tsMnodeDir, "");
|
strcpy(tsMnodeDir, "");
|
||||||
strcpy(tsOsName, "Linux");
|
strcpy(tsOsName, "Linux");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char cmdline[1024];
|
||||||
|
|
||||||
|
char *taosGetCmdlineByPID(int pid)
|
||||||
|
{
|
||||||
|
sprintf(cmdline, "/proc/%d/cmdline",pid);
|
||||||
|
FILE* f = fopen(cmdline,"r");
|
||||||
|
if(f){
|
||||||
|
size_t size;
|
||||||
|
size = fread(cmdline, sizeof(char), 1024, f);
|
||||||
|
if(size>0){
|
||||||
|
if('\n'==cmdline[size-1])
|
||||||
|
cmdline[size-1]='\0';
|
||||||
|
}
|
||||||
|
fclose(f);
|
||||||
|
}
|
||||||
|
return cmdline;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue