Я решил проблему с помощью команды at. Инструменты at могут планировать выполнение задач в заданное время, в нашем случае мы будем использовать время «сейчас», чтобы запустить их немедленно.
Если у вас не установлена команда at, вы должны ее установить:
sudo apt-get install at
Затем создайте текстовый файл со списком команд, которые вы хотите запускать без тайм-аута, разделенных новыми строками, и назовите его как хотите. , скажем "команда". Затем добавьте эту строку к вашему сценарию usbmount:
at -f command now
Таким образом, он должен избежать тайм-аута.
Вы можете использовать '/ usr / bin / time', в приведенном ниже примере мы используем perl для использования части памяти. Это дает хороший уровень детализации, чтобы увидеть, что потребляет процесс. Если вы хотите отслеживать, что происходит, посмотрите пример ниже, где pmap используется в pid. Основная часть вывода pmap опущена, но последняя строка покажет сводку использования памяти.
$ /usr/bin/time --verbose perl -e 'my $a = "a" x 919200000;'
Command being timed: "perl -e my $a = "a" x 919200000;"
User time (seconds): 0.19
System time (seconds): 0.38
Percent of CPU this job got: 99%*emphasized text*
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.57
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 1798908
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 449020
Voluntary context switches: 1
Involuntary context switches: 2
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
pmap:
$ pmap -x $( pgrep firefox )
Address Kbytes RSS Dirty Mode Mapping
...
00007fffa75fc000 8 8 0 r-x-- [ anon ]
00007fffa75fe000 8 0 0 r---- [ anon ]
ffffffffff600000 4 0 0 r-x-- [ anon ]
---------------- ------- ------- -------
total kB 1865700 548748 422532
Чтобы собрать только последнюю строку, вы можете использовать tail -1 для последней строки. Если вам нужен только общий объем памяти, то более подходящим может быть awk, удалите при необходимости:
$ pmap -x $( pgrep firefox ) | awk '{ if( $_ ~ /^total/ ) { printf( "%d %d %d\n", $3, $4, $5 ); } }'
1976996 595644 478532