'\" t .\" Title: taskset .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-09-02 .\" Manual: Polecenia użytkownika .\" Source: util-linux 2.42.3 .\" Language: English .\" .TH "TASKSET" "1" "2026-09-02" "util\-linux 2.42.3" "Polecenia użytkownika" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "NAZWA" taskset \- ustawia lub pobiera koligację procesora dla wątku .SH "SKŁADNIA" .sp \fBtaskset\fP [opcje] \fImaska polecenie\fP [\fIargument\fP.\|.\|.] .sp \fBtaskset\fP [opcje] \fB\-p\fP [\fImaska\fP] \fIpid\fP .SH "OPIS" .sp Polecenie \fBtaskset\fP służy do ustawiania lub pobierania koligacji (przypisania) procesora działającego procesu o podanym \fIpid\fP albo do uruchomienia nowego \fIpolecenia\fP o podanej koligacji procesora. Koligacja procesora jest własnością dyspozytora, która "wiąże" proces z podanym zbiorem procesorów w systemie. Linuksowy planista będzie przestrzegał podanego przypisania procesora i nie uruchomi procesu na innym procesorze. Proszę zauważyć, że linuksowy dyspozytor obsługuje również naturalną koligację procesora: planista stara się utrzymywać procesy na tym samym procesorze, dopóki jest to praktyczne, ze względów wydajnościowych. Z tego względu, wymuszanie niestandardowego przypisania procesora jest użyteczne tylko w niektórych zastosowaniach. Koligacja niektórych procesów, jak wątków jądra przypisanych procesorowi, nie może być ustawiona. .sp Koligacja procesora jest reprezentowana jako maska bitowa, gdzie najniższy bit odpowiada pierwszemu logicznego procesorowi, a najwyższy bit odpowiada ostatniemu logicznemu procesorowi. Nie wszystkie procesory muszą istnieć w danym systemie, jednak maska może podawać więcej procesorów, niż jest obecnych. Pobrana maska odwzoruje jedynie bity odnoszące się do procesorów fizycznie dostępnych w systemie. Jeśli poda się nieprawidłową maskę (tj. niezawierającej żadnego prawidłowego procesora w bieżącym systemie) zwracany jest błąd. Maski można podawać szesnastkowo (z lub bez przedrostka "0x") albo jako listę procesorów wraz z opcją \fB\-\-cpu\-list\fP. Na przykład: .sp \fB0x00000001\fP .RS 4 obejmuje procesor #0 .RE .sp \fB0x00000003\fP .RS 4 obejmuje procesory #0 i #1, .RE .sp \fBFFFFFFFF\fP .RS 4 obejmuje procesory od #0 do #31, .RE .sp \fB0x32\fP .RS 4 obejmuje procesory #1, #4 i #5, .RE .sp \fB\-\-cpu\-list 0\-2,6\fP .RS 4 obejmuje procesory #0, #1, #2 i #6. .RE .sp \fB\-\-cpu\-list 0\-10:2\fP .RS 4 obejmuje procesory #0, #2, #4, #6, #8 i #10. Przyrostek ":N" określa krok w podanym zakresie np. 0\-10:3 jest interpretowane jako lista 0,3,6,9. .RE .sp Gdy \fBtaskset\fP powraca, jest gwarantowane, że podany program został zaszeregowany na prawidłowy procesor. .SH "OPCJE" .sp \fB\-a\fP, \fB\-\-all\-tasks\fP .RS 4 Ustawia lub pobiera koligację procesora wszystkich zadań (wątków) o podanym PID. .RE .sp \fB\-c\fP, \fB\-\-cpu\-list\fP .RS 4 Interpretuje \fImaskę\fP jako numeryczną listę procesorów zamiast maskę bitową. Numery są oddzielane przecinkami i mogą zawierać przedziały. Przykład: \fB0,5,8\-11\fP. .RE .sp \fB\-p\fP, \fB\-\-pid\fP .RS 4 Działa na istniejącym identyfikatorze procesu i nie uruchamia nowego zadania. Jeśli PID wynosi zero, działa na procesie \fBtaskset\fP. .RE .sp \fB\-h\fP, \fB\-\-help\fP .RS 4 Wyświetla ten tekst i wychodzi. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 Wyświetla wersję i wychodzi. .RE .SH "STOSOWANIE" .sp Domyślnym zachowaniem jest uruchomienie nowego polecenia z podaną maską koligacji: .RS 4 \fBtaskset\fP \fImaska\fP \fIpolecenie\fP [\fIargumenty\fP] .RE .sp Można również pobrać koligację procesora istniejącego zadania: .RS 4 \fBtaskset \-p\fP \fIpid\fP .RE .sp Albo ją ustawić: .RS 4 \fBtaskset \-p\fP \fImaska pid\fP .RE .sp Jeśli poda się listę procesorów dla istniejącego procesu, konieczne jest łączne stosowanie opcji \fB\-p\fP i \fB\-c\fP: .RS 4 \fBtaskset \-pc\fP \fIlista\-procesorów pid\fP .RE .sp Postać \fB\-\-cpu\-list\fP służy wyłącznie do uruchamiania nowych poleceń: .RS 4 \fBtaskset \-\-cpu\-list\fP \fIlista\-procesorów polecenie\fP .RE .SH "UPRAWNIENIA" .sp Użytkownik może zmienić koligację procesora procesu należącego do tego samego użytkownika. Użytkownik musi posiadać przywilej \fBCAP_SYS_NICE\fP, aby zmienić przypisanie procesora procesu należącego do innego użytkownika. Użytkownik może pobrać maskę koligacji dowolnego procesu. .SH "STATUS ZAKOŃCZENIA" .sp \fBtaskset\fP zwraca 0 w trybie pobierania koligacji, o ile tylko podany PID istnieje. .sp \fBtaskset\fP zwraca 0 w trybie ustawiania koligacji, o ile tylko zwróci je podległe wywołanie systemowe \fBsched_setaffinity\fP(2). Powodzenie polecenia nie gwarantuje, że podany wątek faktycznie został zmigrowany na wskazany procesor(y), lecz jedynie że nie zostanie przeniesiony na procesor spoza maski koligacji. Na przykład, można ustawić koligację wątku jądra kswapd, lecz wątek może nie być zmigrowany od razu, nie ma też gwarancji, że kiedykolwiek tak się stanie: .sp $ ps ax \-o comm,psr,pid | grep kswapd .br kswapd0 4 82 .br $ sudo taskset \-p 1 82 .br aktualna lista przypisań dla pidu 82: 1 .br nowa lista przypisań dla pidu 82: 1 .br $ echo $? .br 0 .br $ ps ax \-o comm,psr,pid | grep kswapd .br kswapd0 4 82 .br $ taskset \-p 82 .br aktualna lista przypisań dla pidu 82: 1 .br .sp Inaczej będzie, gdy użytkownik poda nieprawidłową koligację, wówczas taskset wypisze błąd i zwróci 1: .sp $ ps ax \-o comm,psr,pid | grep ksoftirqd/0 .br ksoftirqd/0 0 14 .br $ sudo taskset \-p 1 14 .br aktualna lista przypisań dla pidu 14: 1 .br taskset: nie udało się ustawić przypisań dla pidu 14: błędny argument .br $ echo $? .br 1 .br .SH "PRZYKŁADY" .sp Wypisanie bieżącej koligacji procesora jako listy. .sp $ taskset \-pc 0 .br aktualna lista przypisań dla pidu: 1355988: 0\-47 .br .SH "AUTORZY" .sp Autor: Robert M. Love. .SH "PRAWA AUTORSKIE" .sp Copyright © 2004 Robert M. Love. Jest to wolne oprogramowanie; warunki rozpowszechniania znajdują się w źródle programu. NIE ma gwarancji, nawet PRZYDATNOŚCI HANDLOWEJ czy PRZYDATNOŚCI DO OKREŚLONEGO CELU. .SH "ZOBACZ TAKŻE" .sp \fBchrt\fP(1), \fBnice\fP(1), \fBrenice\fP(1), \fBsched_getaffinity\fP(2), \fBsched_setaffinity\fP(2) .sp Schemat szeregowania zadań w Linuksie opisano w podręczniku \fBsched\fP(7). .SH "ZGŁASZANIE BŁĘDÓW" .sp Problemy należy zgłaszać w \c .URL "https://github.com/util\-linux/util\-linux/issues" "systemie śledzenia błędów" "." .SH "DOSTĘPNOŚĆ" .sp Polecenie \fBtaskset\fP jest częścią pakietu util\-linux, który można pobrać ze strony \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "Archiwum jądra Linux" "."