Существует много различных способов сделать это.
Необходимо не обязательно 'отформатировать' (т.е. сделать файловую систему — Вы не можете отформатировать карты с интерфейсом USB в, исправляет значение слова), палка, если Вы просто хотите удалить все файлы.
Принятие палки смонтировано под /media/something
, можно сказать:
sudo rm -rf /media/something/*
Вас не попросят подтвердить! Это не коснется скрытых файлов (папки корзины из Windows или Mac, и т.д.).
Если Вы хотите нетронутую файловую систему, удостоверьтесь, что файловая система размонтирована сначала:
sudo umount /dev/whatever_the_device_is
sudo mkfs.vfat -n "Volume Label" /dev/whatever_the_device_is
Это сделает файловую систему FAT. Если Вам нужна файловая система NTFS, всегда существует mkfs.ntfs
, но необходимо знать, что некоторые реализации являются багги. Это зависит от Вашего распределения и насколько недавний это.
Разожгите менеджера по Разделу KDE (если у Вас нет его, имя пакета Debian/Ubuntu является немного нестандартным partitionmanager
). Сделайте очевидную вещь.
Используйте Дисковую утилиту Gnome (Палимпсест). Это довольно тривиально для использования: просто выберите свою Карту памяти слева. Если это уже имеет раздел, нажмите кнопку 'Format'. Иначе существует кнопка 'Format Drive', которая сделает все для Вас.
Попросите, чтобы Ubuntu имела этот точный вопрос, уже отвеченный: Как отформатировать Карту памяти или внешний диск в 11,10? — отмечают, как это просто обходит Вас посредством использования Написанной поверх Дисковой утилиты.
Мой собственный любимый инструмент GUI для этого задания является GParted. Это делает все, в чем Вы нуждаетесь (кроме, к сожалению, LVM и шифрование), и это удобно для пользователя для начальной загрузки.
Если Вы хотите уничтожить процесс оболочки и какой-либо другой процесс, он метал икру, лучше всего должен, вероятно, запустить новую группу процесса (setpgid()
в ребенке после fork()
прежде, чем работать execve()
на сценарии), и уничтожают группу процесса с kill(-pid)
где pid
возвращаемое значение fork()
в родителе.
При вызове setpgid()
не опция, можно все еще сделать это как:
Вместо:
run("your-script its args");
Сделайте:
run("set -m; trap 'kill %' TERM; your-script its args & wait")
Обычно, каждый был бы Ctrl+C
на оболочке вызова / уничтожают процесс от родительского процесса путем отправки сигнала через Process.destroy()
(Java).
Аккуратный инструмент для таких задач pkill
, который может уничтожить процессы шаблоном, например.
pkill ping
Обратите внимание, что обычный пользователь не может уничтожить другого пользовательские процессы, поэтому удостоверьтесь, что Вы зарегистрированы на правильном компьютере с правильным идентификатором пользователя.
Бонусная подсказка: использовать pgrep -fl ping
чтобы перечислить соответствие процессам, удостовериться, Вы хотите уничтожить всех их - потому что, работая как корень, pkill ssh
также уничтожит Ваш sshd
и может заблокировать Вас. Так же в особенности, когда выполнение как корень - которого необходимо избежать так или иначе - проверяет дважды с pgrep
.
ping
когда Вы не знаете свой путь вокруг так или иначе.;-) Но да, лучше тестировать с pgrep
сначала.
– Has QUIT--Anony-Mousse
11.06.2013, 12:15
pkill ping
уничтожает любой процесс, имя процесса которого содержит ping
(более точно, что соответствие ping
регулярное выражение). pkill -x ping
уничтожит процессы, имя процесса которых ping
, но все еще который уничтожает весь ping
процессы, не только тот Вы запустили.
– Stéphane Chazelas
11.06.2013, 17:15
Получите идентификатор процесса, как Вы записали:
ps -ef|grep pingIP |grep -v 'grep pingIP'
и затем уничтожьте дочернее использование процесса
pkill -P process-id
grep -v grep
? АЙ. man pkill
! (Намного более умные решения были несколько отправленных часы назад!)
– Has QUIT--Anony-Mousse
11.06.2013, 15:37
Используйте killall. Для напр. "killall scriptname". killall уничтожает процесс по имени. Дополнительно можно также выпустить сигнал как. SIGKILL, SIGSTOP и т.д.