mirror of
https://github.com/troglobit/finit.git
synced 2026-11-10 16:31:21 +00:00
1 parent
d26852e07a
commit
5e99b5e735
5 files changed
+17
-17
No files matched your search
@@ -364,7 +364,7 @@ static int print_uptime(void)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void print_descr(char *action, char *descr)
|
void print_desc(char *action, char *desc)
|
||||||
{
|
{
|
||||||
const char home[] = "\r\e[K";
|
const char home[] = "\r\e[K";
|
||||||
const char dots[] = " .....................................................................";
|
const char dots[] = " .....................................................................";
|
||||||
@@ -374,8 +374,8 @@ void print_descr(char *action, char *descr)
|
|||||||
print_uptime();
|
print_uptime();
|
||||||
|
|
||||||
write(STDERR_FILENO, action, strlen(action));
|
write(STDERR_FILENO, action, strlen(action));
|
||||||
write(STDERR_FILENO, descr, strlen(descr));
|
write(STDERR_FILENO, desc, strlen(desc));
|
||||||
write(STDERR_FILENO, dots, 60 - strlen(descr) - strlen(action)); /* pad with dots. */
|
write(STDERR_FILENO, dots, 60 - strlen(desc) - strlen(action)); /* pad with dots. */
|
||||||
}
|
}
|
||||||
|
|
||||||
int print_result(int fail)
|
int print_result(int fail)
|
||||||
@@ -499,7 +499,7 @@ int run_interactive(char *cmd, char *fmt, ...)
|
|||||||
vsnprintf(line, sizeof(line), fmt, ap);
|
vsnprintf(line, sizeof(line), fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
|
|
||||||
print_descr("", line);
|
print_desc("", line);
|
||||||
if (fp && !debug) {
|
if (fp && !debug) {
|
||||||
oldout = dup(STDOUT_FILENO);
|
oldout = dup(STDOUT_FILENO);
|
||||||
olderr = dup(STDERR_FILENO);
|
olderr = dup(STDERR_FILENO);
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ char *pid_get_name (pid_t pid, char *name, size_t len);
|
|||||||
void procname_set (const char *name, char *args[]);
|
void procname_set (const char *name, char *args[]);
|
||||||
int procname_kill (const char *name, int signo);
|
int procname_kill (const char *name, int signo);
|
||||||
|
|
||||||
void print_descr (char *action, char *descr);
|
void print_desc (char *action, char *desc);
|
||||||
int print_result (int fail);
|
int print_result (int fail);
|
||||||
int start_process (char *cmd, char *args[], int console);
|
int start_process (char *cmd, char *args[], int console);
|
||||||
void cls (void);
|
void cls (void);
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ int load_plugins(char *path)
|
|||||||
char filename[1024];
|
char filename[1024];
|
||||||
|
|
||||||
snprintf(filename, sizeof(filename), "%s/%s", path, entry->d_name);
|
snprintf(filename, sizeof(filename), "%s/%s", path, entry->d_name);
|
||||||
print_descr(" Loading plugin ", basename(filename));
|
print_desc(" Loading plugin ", basename(filename));
|
||||||
handle = dlopen(filename, RTLD_LAZY);
|
handle = dlopen(filename, RTLD_LAZY);
|
||||||
if (!handle) {
|
if (!handle) {
|
||||||
_d("Failed loading plugin %s: %s", filename, dlerror());
|
_d("Failed loading plugin %s: %s", filename, dlerror());
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ svc_t *svc_iterator(int restart)
|
|||||||
int svc_register(char *line, char *username)
|
int svc_register(char *line, char *username)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
char *cmd, *descr;
|
char *cmd, *desc;
|
||||||
svc_t *svc;
|
svc_t *svc;
|
||||||
|
|
||||||
if (!line) {
|
if (!line) {
|
||||||
@@ -164,9 +164,9 @@ int svc_register(char *line, char *username)
|
|||||||
return errno = EINVAL;
|
return errno = EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
descr = strstr(line, "-- ");
|
desc = strstr(line, "-- ");
|
||||||
if (descr)
|
if (desc)
|
||||||
*descr = 0;
|
*desc = 0;
|
||||||
|
|
||||||
cmd = strtok(line, " ");
|
cmd = strtok(line, " ");
|
||||||
if (!cmd) {
|
if (!cmd) {
|
||||||
@@ -190,8 +190,8 @@ int svc_register(char *line, char *username)
|
|||||||
return errno = ENOMEM;
|
return errno = ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (descr)
|
if (desc)
|
||||||
strlcpy(svc->descr, descr + 3, sizeof(svc->descr));
|
strlcpy(svc->desc, desc + 3, sizeof(svc->desc));
|
||||||
if (username)
|
if (username)
|
||||||
strlcpy(svc->username, username, sizeof(svc->username));
|
strlcpy(svc->username, username, sizeof(svc->username));
|
||||||
strlcpy(svc->cmd, cmd, sizeof(svc->cmd));
|
strlcpy(svc->cmd, cmd, sizeof(svc->cmd));
|
||||||
@@ -292,7 +292,7 @@ int svc_start(svc_t *svc)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!respawn)
|
if (!respawn)
|
||||||
print_descr("Starting ", svc->descr);
|
print_desc("Starting ", svc->desc);
|
||||||
|
|
||||||
pid = fork();
|
pid = fork();
|
||||||
if (pid == 0) {
|
if (pid == 0) {
|
||||||
@@ -357,12 +357,12 @@ int svc_stop(svc_t *svc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (svc->pid <= 1) {
|
if (svc->pid <= 1) {
|
||||||
_d("Bad PID %d for %s, SIGTERM", svc->pid, svc->descr);
|
_d("Bad PID %d for %s, SIGTERM", svc->pid, svc->desc);
|
||||||
svc->pid = 0;
|
svc->pid = 0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
print_descr("Stopping ", svc->descr);
|
print_desc("Stopping ", svc->desc);
|
||||||
_d("Sending SIGTERM to pid:%d name:'%s'", svc->pid, pid_get_name(svc->pid, NULL, 0));
|
_d("Sending SIGTERM to pid:%d name:'%s'", svc->pid, pid_get_name(svc->pid, NULL, 0));
|
||||||
res = kill(svc->pid, SIGTERM);
|
res = kill(svc->pid, SIGTERM);
|
||||||
print_result(res);
|
print_result(res);
|
||||||
|
|||||||
@@ -55,10 +55,10 @@ typedef struct svc {
|
|||||||
pid_t pid;
|
pid_t pid;
|
||||||
char cmd[MAX_ARG_LEN];
|
char cmd[MAX_ARG_LEN];
|
||||||
char args[MAX_NUM_SVC_ARGS][MAX_ARG_LEN];
|
char args[MAX_NUM_SVC_ARGS][MAX_ARG_LEN];
|
||||||
char descr[MAX_STR_LEN];
|
char desc[MAX_STR_LEN];
|
||||||
char username[MAX_USER_LEN];
|
char username[MAX_USER_LEN];
|
||||||
/* Public */
|
/* Public */
|
||||||
int delayed_reload; /* For external service plugin. */
|
int reload; /* For external plugins. */
|
||||||
plugin_svc_t *plugin;
|
plugin_svc_t *plugin;
|
||||||
} svc_t;
|
} svc_t;
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user