Острота, использующая только Zsh:
files=(*); for x in {1..30}; do i=$((RANDOM % ${#files[@]} + 1)); echo "${files[i]}"; done
То же в Bash, где индексы массива основаны на нуле:
files=(*); for x in {1..30}; do i=$((RANDOM % ${#files[@]})); echo "${files[i]}"; done
Обратите внимание, что никакая версия не принимает дубликаты во внимание.
Вы ничего не сделали к процессу Firefox. Это уже было в состоянии S прежде. “Прерываемый сон” эффективно означает неактивный. Процесс ожидает и проснется, когда он получает вход. Это - нормальное состояние процесса, если Вы не ловите его, в то время как это занято.
Вы заставили окно исчезнуть. Возможно, Вы отправили его в другой рабочий стол. Как принести его назад, “нормальный” путь совершенно зависит от Вашего менеджера окон, который Вы не указывали.
Вы можете получать окно с другими инструментами, но оно несколько зависит от того, что точно произошло с ним и сотрудничает ли Ваш менеджер окон. Попробуйте wmctrl. Сначала перечислите окна Firefox с wmctrl -l | grep Firefox
. Отметьте окно ID в первом столбце, скажите 0x12345678. Для возвращения окна текущему рабочему столу использовать wmctrl -R 0x12345678
; альтернативно, использовать wmctrl -a 0x12345678
переключаться на его рабочий стол. Максимизировать его (который заботится об окнах вне экрана или уменьшенный к единственному пикселю), выполненный wmctrl -r 0x12345678 -b add,maximized_vert,maximized_horz
. С другой стороны, переместите и измените размер окна с wmctrl -r 0x12345678 -e 1,50,100,1000,800
. Вы, возможно, должны не заштриховать или раскрыть окно с wmctrl -r 0x12345678 -b remove,shaded
или wmctrl -r 0x12345678 -b remove,hidden
.
@msw сделал хорошее задание, объяснив Ваш 2-й Q и некоторые Ваши 1-е:
B) Предложите какие-либо относительно-простые-способы возвратить какую-либо форму управления, (по крайней мере) сохранить вкладки, которые я раздражающе открыл в режиме Private Browsing?
Таким образом, я попытаюсь обратиться к Вашему 1-му Q немного больше:
A) Тщательно продуманный относительно того, каково состояние, более подробно?
Значения состояния Sl
(Это - нижний регистр L):
S Interruptible sleep (waiting for an event to complete)
l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
PROCESS STATE CODES
R running or runnable (on run queue)
D uninterruptible sleep (usually IO)
S interruptible sleep (waiting for an event to complete)
Z defunct/zombie, terminated but not reaped by its parent
T stopped, either by a job control signal or because
it is being traced
[...]
Более подробная информация видна в странице справочника сигнала, man 7 signal
, а также в этом учебном руководстве, названном: состояния процесса Linux.
Для X-клиентов возможно потерять их соединение и так или иначе не быть уведомленным относительно него. Процесс будет часто ожидать на сокете, через который ничто никогда не будет прибывать, оставляя его в бесперебойном сне.
Для Firefox только (и некоторые другие программы как Gvim или Chrome, которые делают специальные положения для хранения состояния в отказе), простое:
$ kill -TERM pid
даст процессу шанс сохранить список открытых вкладок, но я не рассчитывал бы на содержание формы или другое состояние, которое будет сохранено.
kill
, Я сомневаюсь, что FF сохранил бы мои вкладки в этой ситуации. Какой-либо путь к FF для повторного прикрепления к X?
– user66001
20.10.2013, 02:05
xdotool
, это может делать все их, или по крайней мере тот, который это полезно, поэтому испытывает его (посмотрите на команды окна и рабочий стол и команды окна в руководстве). А-ч – Gilles 'SO- stop being evil' 20.10.2013, 02:17xdotool
также - Когда Вы подразумеваете, что это "может делать все их", Вы говорящий о компиляцииwmctrl
, или операции, которые можно выполнить с ним? Можно ли указать на меня на какие-либо рекомендуемые руководства по компиляции источников Linux (В новинку для Linux от среды Windows)? – user66001 20.10.2013, 02:47xdotool
иwmctrl
имейте схожую функциональность (до того, в чем Вы нуждаетесь здесь, они отличаются по тому, что еще они предлагают). Если Вы плохо знакомы с Linux, я рекомендую распределение с большим количеством пакетов. При выполнении RHEL или варианта, такого как CentOS или Научный Linux на Repoforge существует пакет. Если бы Вы хотите создать из источника, считайте это — но было бы легче установить пакет, если можно найти тот. – Gilles 'SO- stop being evil' 20.10.2013, 03:10