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).
Ссылка на скачивание - внизу страницы.