Что вы делаете, если kill -KILL не работает в экземпляре nvprof? [Дубликат]

Я столкнулся с тем же вопросом несколько минут назад. Ни один из уже представленных ответов не касался реальной проблемы, которая избавляется от сообщения warning: tag 'foo' is really 'bar' here и дает git describe просто перечислить новое имя тега. Это особенно важно в моем случае, поскольку моя система сборки использует git describe для записи в сборку, какие источники использовались для создания сборки.

Репликация проблемы

Я могу реплицировать проблема:

$ git tag foo --annotate -m"original message"
$ git tag bar foo
$ git tag -d foo
$ git describe 
warning: tag 'foo' is really 'bar' here
foo

(Флаг --annotate выше избыточен, поскольку -m подразумевает --annotate, но я включил его для выделения.) Я попытался воспроизвести проблема с легким тегом, но не была в состоянии сделать это. Чтобы реплицировать проблему, необходима аннотация.

Фиксация проблемы

Некоторые из них включают в себя толкание предметов, которые уже подтолкнули, но я нахожусь в согласии с Дэвидом Калпом, когда он говорит :

Однако иногда бывает просто не стоит долговременной боли неточной (грязной) истории, а кратковременная боль

blockquote>

Как только вы застряли с warning: tag 'foo' is really 'bar' here, вы должны сделать:

$ git tag bar bar -m"original message" --force
$ git describe 
bar

При необходимости адаптироваться, если сообщение необходимо изменить.

Чтобы удалить старый тег, если он уже был нажат:

$ git push origin :refs/tags/foo

Чтобы обновить новый тег, если он уже был нажат:

$ git push origin refs/tags/bar

Избежать проблемы

Чтобы избежать проблемы, в первую очередь вам нужно создать bar с помощью:

$ git tag bar foo -m"original message"

25
задан sebastian-c 15 September 2017 в 08:16
поделиться

2 ответа

Это ужасное состояние без прерывания (TASK_UNINTERRUPTIBLE) процесса. Это состояние, в котором процесс не реагирует на сигналы до тех пор, пока он не начнет ждать, выполняется. К сожалению, это необходимое зло. См. здесь и здесь Что такое непрерывный процесс? .

Мой ответ - перезагрузить систему. Вызывают ли перезагрузка какие-либо проблемы? Трудно сказать, возможно, это не так. Процесс, который находится в состоянии D, может потребоваться сделать некоторые важные обновления, которые не будут выполняться при перезагрузке. Если вы действительно не можете позволить себе перезагрузиться, попробуйте найти диск, на котором ожидает процесс, и посмотрите, работает ли диск нормально, открыв, закрыв, прочитав / записав в него

18
ответ дан Community 16 August 2018 в 04:05
поделиться

Нет - вы не можете убить их, период. kill -9 тоже не работает. И это не ошибка ядра, это по дизайну. Все сигналы блокируются до тех пор, пока эти процессы не покинут состояние D. Они либо покидают состояние D, либо система перезагружается. Нет, перезагрузка не имеет проблем с этими ребятами.

Обычными виновниками такого рода проблем являются съемные мультимедийные устройства, такие как cdrom. Устройство может быть неисправным, или кто-то нашел способ сделать что-то глупое.

3
ответ дан jim mcnamara 16 August 2018 в 04:05
поделиться
  • 1
    Нет, если он не может быть удален из «D & quot; состоянии, хотя это возможно (как и в окнах), что явно не является нормальным. Если бы это было по дизайну, то это был ошибочный дизайн. Хотя с тех пор я не сталкивался с такими проблемами, и это вызвало у меня массу проблем. Я думаю, ребята из ядра решили эту проблему в большинстве случаев. И да, перезагрузка помогает - по крайней мере, до следующей проблемы «D & quot; -state». – peterh 6 December 2013 в 18:52
  • 2
    Может быть, я не понимаю, что вы имеете в виду, но все сигналы, включая SIGKILL, блокируются ядром, специально из любого состояния «D & quot; процесса в современных Linux. Что хорошо. Потому что процесс ожидает драйвер, ожидающий аппаратного обеспечения. – jim mcnamara 6 December 2013 в 19:54
  • 3
    И, таким образом, простая, разрешимая аппаратная или блокирующая проблема будет перерастать в серьезную проблему, требующую перезагрузки. И люди ядра даже не понимают, что это ... субоптимальная обработка вещей. – peterh 6 December 2013 в 20:06
  • 4
    @jimmcnamara Довольно глупо, если к тому времени HW не существует. Я бы дал этому -1, если бы автор ядра опубликовал этот ответ. – yo' 23 May 2017 в 22:29
Другие вопросы по тегам:

Похожие вопросы: