MacCentre
Форум: Mac и Mac OS X
Тема: А можно ли "убить" процесс копирования?
Страницы: [1] 2

[Ответить]
aTrop [15.11.2010 09:40] А можно ли "убить" процесс копирования?:
Собственно, вопрос в теме сообщения? Возможно ли это в принципе? То есть висит ли запущенная процедура копирования как-то отдельно в общем списке процессов, который можно посмотреть (и принудительно завершить что-то при необходимости), допустим, через тот же Activity Monitor? Если да - то как она называется? Или же этот процесс отдельно вообще не существует, а работает где-то "внутри" Finder'а?
Просто столкнулся я тут недавно с проблемой при копировании файлов со сбойного DVD-диска, когда копирование "встало", как говорится, "насмерть". То есть это уже потом стало понятно, что диск сбойный, поначалу-то оно копировалось нормально и довольно шустро, но в какой-то момент все встало. Кнопка останова копирования в окне не срабатывала, ждать пока оно по таймауту "отвалится" - некогда... Перезапустить Finder? Дык не факт, что он таки перезапустится - был опыт, когда Finder после Relaunch в аналогичной ситуации из ступора так и не выходил (то есть не запускался нормально) и приходилось перезагружать машину. То есть тоже не лучший вариант... Что посоветуете?
А, да... PowerMac G5 2 GHz DualCore, 3 Gb RAM, 10.5.8, хотя это скорее всего и не принципиально важно...
Neo [15.11.2010 09:43] :
Копирование - это ветка Finder'а, а не отдельный процесс, насколько я понимаю.
Veselchack_U [15.11.2010 10:07] Re: А можно ли "убить" процесс копирования?:
Копирование в данном случае это задача, которую выполняет Файндер. И оно не встает "насмерть", когда все таймаут истекут Файндер честно скажет, что у него нифига не получилось.

И даже Файндер тут ни причем, он ждет эти таймауты от файловой системы, которая работает через драйвер ЦД/ДВД (собственно этот драйвер, который безуспешно пытается прочитать диск и является источником проблемы). Корректно прервать этот процесс вряд ли получится, поскольку там есть какие-нить открытые файлы, полузаписанные кеши и т.д.

Единственный "верный" способ -- нажать и удерживать кнопку питания или выдернуть из компа шнур 220 вольт (или как-то отключить/вытащить ЦД/ДВД -- чтобы ошибка и таймаут выскочили быстрее).

ПС: Затем, на всякий случай, стоит проверить диск на ошибки, хотя журналирование файловой системы должно спасать от большинства серьезных сбоев...
aTrop [15.11.2010 11:39] :
Я имел в виду, что в таких случаях собственно копирование останавливается. Чаще всего совсем.

Понятно... Жаль. Хоть и нечасто, но все же сталкиваюсь. И оно вполне понятно, что надо просто подождать, тем более, что в принципе работать-то при этом можно продолжать. Но вот иногда просто ждать бывает некогда. :-( Вот и хотелось выяснить, нельзя ли это дело как-то ускорить...

Ну, это уже явное издевательство над компом... :-) Проще подождать. Или попробовать таки перезапустить Finder - бывает, что этот "номер" проходит. Но тут примерно 50/50 (перезапустится нормально/подвиснет окончательно) и никогда не угадаешь, в какую из "половинок" угодишь...

Спасибо за отклик, коллеги! Я собственно, подозревал нечто подобное, поскольку при внимательном просмотре списка процессов не нашел ничего мало-мальски похожего по названию на копирование, но хотелось уточнить.
Korwin [15.11.2010 11:45] :
Перезапустите Finder полностью.
Veselchack_U [15.11.2010 12:04] :
Имхо:

Файндер -- программа написанная на языке "высокого уровня", собственно копирование выполняется на уровне вызовов файловой системы. Соответсвенно, когда вы перезапускаете/убиваете процесс у которого есть открытые файлы в процессе записи/чтения, не гарантировано, что файловая система их тут же корректно "отпустит". Может потребоваться перезапуск системы (диска/сервера/...)
паша кошляк [15.11.2010 12:36] :
это что-то отличное от реланча?
Korwin [15.11.2010 13:19] :
Вы программист?

Finder - программа, написанная на Objective-C. Когда процесс заканчивает работу (любым способом) и при этом сам не освобождает выделенные ему файловые дескрипторы, то эти дескрипторы автоматически освобождаются.
Если дескриптор был на чтение - то быстро и без проблем. Если дескриптор был на запись, то возможна частичная или полная потеря измененных/записанных данных. Конкретно зависит от того, как программа работала с дескриптором.

Где-то так.
Steps [15.11.2010 13:20] :
В том числе. Погуглите Excentro.
aTrop [15.11.2010 14:03] :
А по-русски можно? Например, Relaunch Finder через Cmd+Opt+Esc - это как: полностью или нет? Или Force Quite через Activity Monitor - это полностью или где? Или killall Finder в Terminal'е? Коллега, выражайтесь понятнее, если не трудно! А то ведь "велик могучим руский языка..." и ваше "полностью" можно понимать ну очень по-разному... :-)
[Ответить]
[Вперед >]