From 328c9bbc2183ef2b65701f93b011dd011a97e1a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A8=8A=E6=99=AF=E4=B9=90?= Date: Thu, 20 Mar 2025 09:31:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BC=82=E5=B8=B8=E9=80=80?= =?UTF-8?q?=E5=87=BA=E6=89=93=E7=82=B9=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 樊景乐 --- modules/sysevent/event_reporter.cpp | 14 ++++++++++++-- startup_events.yaml | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/modules/sysevent/event_reporter.cpp b/modules/sysevent/event_reporter.cpp index 687e7295..87b9c3fb 100644 --- a/modules/sysevent/event_reporter.cpp +++ b/modules/sysevent/event_reporter.cpp @@ -36,8 +36,18 @@ void ProcessMgrRemoveApp(const char* processName, int pid, int uid, int status) pname = std::string(processName, strlen(processName)); } - HiSysEventWrite(HiSysEvent::Domain::STARTUP, KEY_PROCESS_EXIT, HiSysEvent::EventType::BEHAVIOR, - KEY_NAME, pname, KEY_PID, pid, KEY_UID, uid, KEY_STATUS, status); + int signal = 0; + if (WIFSIGNALED(status)) { + signal = WTERMSIG(status); + } + if (WIFEXITED(status)) { + signal = WEXITSTATUS(status); + } + + if (signal != 0) { + HiSysEventWrite(HiSysEvent::Domain::STARTUP, KEY_PROCESS_EXIT, HiSysEvent::EventType::BEHAVIOR, + KEY_NAME, pname, KEY_PID, pid, KEY_UID, uid, KEY_STATUS, status); + } } } // namespace system } // namespace OHOS diff --git a/startup_events.yaml b/startup_events.yaml index 4bf18628..ea2a1009 100644 --- a/startup_events.yaml +++ b/startup_events.yaml @@ -11,7 +11,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -domain: STARTUP +domain: APPSPAWN PROCESS_EXIT: __BASE: {type: BEHAVIOR, level: CRITICAL, tag: Stability, desc: process exit reason} -- Gitee