diff --git a/userspace/ksud/src/event.rs b/userspace/ksud/src/event.rs index a11fcad6..f9e593bd 100644 --- a/userspace/ksud/src/event.rs +++ b/userspace/ksud/src/event.rs @@ -155,7 +155,9 @@ pub fn on_post_data_fs() -> Result<()> { pub fn on_services() -> Result<()> { // exec modules service.sh scripts if !crate::utils::is_safe_mode() { - let _ = crate::module::exec_services(); + if let Err(e) = crate::module::exec_services() { + warn!("exec service scripts failed: {}", e); + } } else { warn!("safe mode, skip module service scripts"); } diff --git a/userspace/ksud/src/module.rs b/userspace/ksud/src/module.rs index 36d6c97e..25929914 100644 --- a/userspace/ksud/src/module.rs +++ b/userspace/ksud/src/module.rs @@ -9,7 +9,7 @@ use crate::{ use const_format::concatcp; use java_properties::PropertiesIter; -use log::{info, warn}; +use log::{info, warn, debug}; use std::{ collections::HashMap, env::var as env_var, @@ -216,10 +216,12 @@ pub fn exec_post_fs_data() -> Result<()> { let mut command_new; let mut command; - if is_executable(&post_fs_data) { + if !is_executable(&post_fs_data) { + debug!("{} is not executable, use /system/bin/sh!", post_fs_data.display()); command_new = Command::new("sh"); command = command_new.arg(&post_fs_data); } else { + debug!("{} is executable, exec directly!", post_fs_data.display()); command_new = Command::new(&post_fs_data); command = &mut command_new; }; @@ -267,10 +269,12 @@ pub fn exec_services() -> Result<()> { let mut command_new; let mut command; - if is_executable(&service) { + if !is_executable(&service) { + debug!("{} is not executable, use /system/bin/sh!", service.display()); command_new = Command::new("sh"); command = command_new.arg(&service); } else { + debug!("{} is executable, exec directly!", service.display()); command_new = Command::new(&service); command = &mut command_new; };