int kill_processes_by_name(const char* processName) { // First try to kill with -2 kill_processes_by_name(2, processName); // To make sure process is killed do it with -9 kill_processes_by_name(9, processName); return 0; }
char* KillProcessFn(const char* name, State* state, int argc, Expr* argv[]) { if (argc != 1) return ErrorAbort(state, "%s() expects 1 arg, got %d", name, argc); char *process_name; int retval; if (ReadArgs(state, argv, 1, &process_name) < 0) return NULL; kill_processes_by_name(2, process_name); kill_processes_by_name(9, process_name); return strdup("t"); }
static void KillByNameFn(UpdaterInfo* pUI, TOKENINFO* pTokens, int nTokens, int nLineNo) { int signal = get_signal(pTokens[1].pString); fprintf(pUI->log_fp, "Killing process by name %s with signal %s\n", pTokens[2].pString, pTokens[1].pString); kill_processes_by_name(pUI->log_fp, pTokens[2].pString, signal); setCallbackData(pUI, strdup("")); }
void stopdnsmasq() { // Stopping dnsmasq writelog(kill_processes_by_name((char *)"dnsmasq"),(char *)"Stopping dnsmasq"); if (file_exists((char*)"/data/data/android.tether.usb/var/dnsmasq.pid") == 0) { file_unlink((char*)"/data/data/android.tether.usb/var/dnsmasq.pid"); } if (file_exists((char*)"/data/data/android.tether.usb/var/dnsmasq.leases") == 0) { file_unlink((char*)"/data/data/android.tether.usb/var/dnsmasq.leases"); } }