У меня нет так большого опыта с rsh
, но это - то, как я решил бы его использование strace
.
Вы можете strace рабочий процесс с помощью -p
флаг. Так что-то вроде этого
linux$ strace -p $(pidof rshd) -o logfile.txt
Или это или Вы можете изменить сценарий, который запускается rsh
deamon для использования strace. Могло бы быть хорошо использовать strace-o файл журнала для этого, так как иначе вывод мог бы быть скрыт сценариями, начинающими rsh демона.
Это хаки и безциртны.
Firefox может запустить JavaScript через командную строку, такую как:
firefox "javascript:alert(Date.now())"
, которая откроет Firefox и запустить JavaScript, который всплывает окно сообщения, содержащее текущую эпоху в миллисекунду.
Вы можете получить количество миллисекунд, прошедших в эпоху в вашей командной строке с
date +%s%N | cut -b1-13
, чтобы ответить на ваш вопрос, запустите
date +%s%N | cut -b1-13; iceweasel "javascript:alert(Date.now())"
, затем вычтите номер в вашем терминале из номера в Firefox. Это дает вам количество миллисекундов Firefox, взяв на открытие и отображение некоторых основных JavaScript.
Источники:
Если вы хотите заменить только слово
(не полный стинг) вы должны использовать некоторые хитрость:
sed "s/100/$(cat -E file2 |tr -d '\n')/;s/\\$/\n/g" file1
или
sed -e s/100/$(tr \\n $ < file2)/ -e s/\\$/\\n/g file1
Основная идея, что sed
является последовательностями редактор, так что он не может принять многострочный ряд (то есть с новыми символами ) в большинстве случаев. Хитрость заключается в том, чтобы удалить символы новой строки из файла для обмена, произвести подстановку и чем положить их обратно.
Я исправил проблему.
Вот решение для тех, кто может столкнуться с подобными проблемами:
остановка akonadi и kmail
удаляют содержание движения ~/.local/share/akonadi/file_db_data
, которое перемещает вся электронная почта от ~/.local/share/.local-mail.directory к temp_directory
, вся электронная почта от ~/.local/share/local-mail к тому же temp_directory
перезапускают kmail и импортируют все электронные письма, удаляя дубликаты.
Можно использовать некоторое средство, которое может получить идентификатор окна, связанный с PID, и дождаться создания этого окна. Идентификатор процесса ранее запущенной программы доступен в $!
переменная.
В качестве примера - с помощью wmctrl
можно получить список всех окон и проверить, запущено ли какое-либо из них по заданному идентификатору PID:
$ wmctrl -lp
0x00e00003 -1 397 jjmach sawfishpager
0x01200003 6 399 jjmach wmctrl -lp jimmij@jjmach: /proc
0x0180004b 0 655 jjmach emacs@jjmach.jj
0x02800078 7 680 jjmach How to measure Firefox's startup time? - Mozilla Firefox
Идентификатор окна находится в первом столбце, а идентификатор процесса - в третьем, поэтому необходимо направить его в awk
, чтобы проверить, имеет ли данный идентификатор процесса связанное окно.
wmctrl -lp | awk -v pid="$!" '$3==pid{print "Window is created with id "$1}'
Теперь мы должны поместить его в какой-то цикл и измерить время, пока команда выше закончится успешно:
firefox & time (while wmctrl -lp | awk -v pid="$!" '$3==pid{exit 1}'; do :; done)
Поэтому мы запускаем firefox и немедленно запустить цикл, который в теле ничего не делает (:
) и заканчивается, когда awk
возвращает ненулевое значение.
подождите
bash builtin.
nc -l 64738 &
firefox http://127.0.0.1:64738 &
ждать <...пока не будет решено, что только nc следует ждать...>
killall firefox <...yet to be solve to not kill your girlfriends browser>
Вы можете узнать измеренное время запуска из конфигурации (about: config):
browser.slowStartup.averageTime
Насколько мне известно, время запуска в миллисекундах можно найти здесь:
о :телеметрии -> Простые измерения -> firstPaint