This commit is contained in:
Your Name 2024-01-03 21:00:23 +03:00
parent 0cbd2c4ed0
commit 6cd972dc73
6 changed files with 28 additions and 21 deletions

3
src/coreutils/setsid/build.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh
project_dir=$(pwd)
echo ./*.c $CFLAGS -o $OUTPUT$(basename $project_dir) | xargs $CC

View File

@ -0,0 +1,19 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
int main(int argc, char **argv) {
if (argv[1] == NULL) {
printf("setsid [cmd] [arg1 arg2...]\n");
return 1;
}
pid_t pid;
if ((pid = fork()) != 0)
return 0;
setsid();
execvp(argv[1], argv + 1);
}

View File

@ -12,7 +12,7 @@ int main(int argc, char **argv) {
return 0; return 0;
} }
} }
c
argc -= optind; argc -= optind;
argv += optind; argv += optind;
return 0; return 0;

View File

@ -44,8 +44,8 @@ int main(void) {
sigset_t set; sigset_t set;
sigemptyset(&set); sigemptyset(&set);
sigaddset(&set, SIGUSR2);
sigaddset(&set, SIGUSR1); sigaddset(&set, SIGUSR1);
sigaddset(&set, SIGUSR2);
/* Start main service */ /* Start main service */
sigprocmask(SIG_BLOCK, &set, NULL); sigprocmask(SIG_BLOCK, &set, NULL);

View File

@ -1,31 +1,18 @@
#include <stdio.h> #include <stdio.h>
#include <signal.h>
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h> #include <unistd.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <arpa/inet.h> #include <arpa/inet.h>
#include "unused.h" #include "unused.h"
int connect_or_die(
int main(int argc, char **argv) { int main(int argc, char **argv) {
int family = AF_UNSPEC;
int port = 33137; int port = 33137;
unsigned int l_flag; unsigned int l_flag;
UNUSED(port);
UNUSED(l_flag);
UNUSED(family);
int opt; int opt;
while ((opt = getopt(argc, argv, "46vp:nl")) != 1) { while ((opt = getopt(argc, argv, "p:nl")) != 1) {
switch (opt) { switch (opt) {
case '4':
family = AF_INET;
break;
case '6':
family = AF_INET6;
break;
case 'l': case 'l':
l_flag = 1; l_flag = 1;
break; break;
@ -35,7 +22,7 @@ int main(int argc, char **argv) {
break; break;
default: default:
printf("nc\n\t[-4 Use ipv4] [-6 Use ipv6]\n\t[-v Verbose] [-p Port Listen port]\n\t[-u Udp mode] [-l Listen]\n\t[-n Don't do DNS resolution]\n"); printf("nc\n\t[-p PORT Listen port]\n\t[-u Udp mode] [-l Listen]\n\t[-n Don't do DNS resolution]\n");
return 0; return 0;
} }
} }
@ -43,7 +30,5 @@ int main(int argc, char **argv) {
argv += optind; argv += optind;
argc -= optind; argc -= optind;
signal(SIGPIPE, SIG_IGN);
return 0; return 0;
} }

View File

@ -33,7 +33,7 @@ int main(void) {
if (days > 0) if (days > 0)
printf(" %d days", days); printf(" %d days", days);
if (hours > 0) else if (hours > 0)
printf(" %d hours", hours); printf(" %d hours", hours);
printf(" %d mins", mins); printf(" %d mins", mins);