Существует несколько способов отметить экземпляры процесса. Можно сделать это через название команды в списке процессов (например. matlab_1
вместо matlab
) или через переменную среды. Используя PID возможно, также. Просто необходимо произвести его прежде matlab
запускается:
nohup time bash -c 'echo $$; exec matlab -some_parameters -r "run '"$1"';exit"' &>> "$2" &
Редактирование 1:
$$
PID оболочки, но из-за exec
matlab
обработайте просто перезаписывает процесс оболочки, т.е. PID не изменяется. exec
средства, что в конце названной программы нет никакого перехода назад к оболочке; потому что нет никакой оболочки больше.
Для объяснения других опций я упомянул, см. мой ответ на этот вопрос.
use rsync
:
rsync -a --ignore-existing cosmo_sim_9 /dest/disk/cosmo_sim_9
- ignore-existing
приведет к пропуску существующих файлов в месте назначения, -a
будет сделать его рекурсивным, сохраняя, если возможно, разрешение / владение / группу / временную метку / ссылки / специальные устройства.
вы можете сделать это для всех каталогов, используя цикл bash для
:
for dir in cosmo_sim_* ; do
rsync -a --ignore-existing "$dir" "/dest/disk/$dir"
done
С помощью rsync
можно добиться этого. В зависимости от типа имеющейся у вас системы, вам нужно загрузить её:
sudo yum install rsync
(RPM Based)sudo apt-get install rsync
(Debian Based)Затем, используя эту команду, вот команда, которую вам нужно будет использовать:
rsync -a source destination
Or
rsync -r source destination
Где -r
означает копирование данных рекурсивно (но не сохраняйте временные метки и разрешения во время передачи данных.
-a
означает режим архива, режим архива позволяет копировать файлы рекурсивно, а также сохраняет символические ссылки, права доступа к файлам, владельцев пользователей и групп и метки времени