printf("Process info when father started son\n");
system("ps f -l");
return 0;
}
СЫН
int main(void){
exit(0);
}
STARTUPINFO si = { sizeof(si)};
PROCESS_INFORMATION pi;
BOOL ret = CreateProcess(NULL,lpStr,NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
for (int i=0; i<count; i++){
S_Param * param = new S_Param;
param->index = i;
CreateThread(NULL, 0, Thread, param, 0, &tID);
}
char * PrStr [] = { "THREAD_PRIORITY_ABOVE_NORMAL ",
"THREAD_PRIORITY_BELOW_NORMAL ",
"THREAD_PRIORITY_HIGHEST ",
"THREAD_PRIORITY_IDLE ",
"THREAD_PRIORITY_LOWEST ",
"THREAD_PRIORITY_NORMAL ",
"THREAD_PRIORITY_TIME_CRITICAL "};
int PrConst [] = { THREAD_PRIORITY_ABOVE_NORMAL,
THREAD_PRIORITY_BELOW_NORMAL,
THREAD_PRIORITY_HIGHEST,
THREAD_PRIORITY_IDLE,
THREAD_PRIORITY_LOWEST,
THREAD_PRIORITY_NORMAL,
THREAD_PRIORITY_NORMAL};
#include <stdio.h> |
main ( argc, argv ) |
int argc; |
char *argv []; |
{ |
FILE *fil; |
int i; |
char a; |
sss=fopen(argv[1], “r”); |
for(i=0;;i++) |
{ |
If(feof(fil)) |
{ |
printf(“\n”); |
break; |
} |
fscanf(fil,”%c”,&a); |
printf(“%c”, a); |
} |
fclose(fil); |
} |
Содержимое файла /root/text:
You couldn’t see this text
Программе-шлюзу и файл, имеют следующие права доступа:
$ ls -l ./root/shluz ./root/text
-rwSrwxr-x 1 root root 4746 Nov 09 22:30 ./root/shluz
-rw------- 1 root root 59 Nov 09 22:35./root/text
Читаем файл программой shluz:
$ ./root/shluz ./root/text
You couldn’t see this text
Результат успешен, так как файл ./root/shluz имеет атрибут SUID.
1) Получить все жесткие ссылки на заданный файл, находящиеся в разных каталогах пользовательского пространства.
# echo > ./example
# ln ./example /root/ab
# find -name "example" -printf "%p\tinode=%i\n" 2>/dev/null
./example inode=7336320
./ab/example inode=7336320
2)Скрипт, подсчитывающий и перечисляющий все символические ссылки на файл в разных каталогах:
# !/bin/bash
if [ $# -ne 1 ]
then
echo "Bad command line format";
exit 1;
fi
echo " Symbolic links to $1 = "
find -lname $1 | awk '{print} END {print "Number of symbolic links = \n" NR}' ;
exit 0;
3) Получить все жесткие ссылки на заданный файл, находящиеся в разных каталогах пользовательского пространства (использовать конвейер команд и фильтрацию). ls –ilpR / 2>/dev/null | grep –e ‘ls –I $1 | cut –c 1-8’ file.txt
Программа get_set_prio.c:
#include <stdio.h> |
#include <sched.h> |
#include <stdio.h> |
main(int argc, char* argv[]){ |
int count_pid=0, pid=0; |
int i,m; |
while(argv[1][count_pid]) |
count_pid++; |
for(i=0;i<count_pid;i++){ |
pid=pid*10+argv[1][i]-0x30; |
} |
printf("The priority of PID %i BEFORE changes is %i\nPlease input the increment equal: ",pid,i=getprio(pid)); |
scanf("%i",&m); |
setprio(pid,i+m); |
printf("The priority of PID %i AFTER changes is %i\n",pid,i=getprio(pid)); |
} |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.