Во-первых, запишите вывод ps -ef | grep java
к названному "имени файла" файла затем создают файл Python:
import os
f = open('filename',r')`
for i in f:
a = i.split()
b= "kill "
b=b+str(a[1])
os.system(b)
Выполните его с python pythonfilename.py
и Ваши программы Java будут завершены.
Вы не должны использовать awk
вообще. Используйте встроенные тесты это ksh
обеспечивает, что-то вроде этого:
#!/bin/ksh
for NAME in *
do
FOUND=no
if [[ -d $NAME && $NAME != '.' && $NAME != '..' ]]
then
for SUBNAME in $NAME/*
do
if [[ -d $SUBNAME ]]
then
FOUND=yes
break
fi
done
if [[ $FOUND == no ]]
then
echo Found only files in $NAME
fi
fi
done
Тот небольшой сценарий смотрит во всех каталогах в текущем каталоге и говорит Вам, если они только содержат файлы, никакие подкаталоги.
*/
соответствует подкаталогам текущего каталога. Это включает символьные ссылки на каталоги, которых Вы можете или не можете требовать.
В ksh93, добавляя ~(N)
в начале шаблона заставляет его расшириться до пустого списка, если там не идет ни в какое сравнение. Без этого шаблон остается неизменным, если там не идет ни в какое сравнение.
Следующая функция ksh93 перечисляет подкаталоги текущих каталогов, которые не содержат подкаталога или ссылки на каталог.
list_leaf_directories () {
local FIGNORE='.?(.)' # don't ignore dot files
local d
for d in */; do
[[ -L $d ]] || continue; # skip symbolic links
set -- ~(N)"$d"/*/
if ((!$#)); then echo "$d"; fi
done
done
если я не неправильно понимаю Вас, Вы только хотите найти файлы в каталоге не подкаталогами. Если это - Ваше намерение, вот решение
find . -type f
если Вы хотите найти кроме регулярных файлов (как файлы блочного устройства, файлы устройства посимвольного ввода-вывода и т.д.) затем см. страницу справочника для find
управляйте и ищите ключевое слово типа на той странице. Вы будете видеть различные типы файлов, включая регулярные файлы и каталоги и т.д.
Надежда это - то, что Вы ищете
Если вы сможете использовать Найти
, и если вы работаете над «обычной файловой системой Unix» (то есть, как определено в Найти (1) Под -NOLEAF Описание параметра), то можно использовать следующую команду:
find . -type d -links 2
каждый каталог имеет как минимум 2 имена (жесткие ссылки): .
и его имя. Его подкаталоги, если таковые имеются, будет иметь ..
.. , указывая на родительский каталог, поэтому каталог с N подкаталогов будет иметь жесткое количество ссылок, равное N + 2. Таким образом, в поисках каталогов с графом жестких ссылок равным 2, мы ищем каталоги с N = 0 подкаталоги.
Итак, если вы можете использовать Найти
, это возможно, является самым быстрым способом и, очевидно, превосходит петли в оболочке по содержимому каталога stat ()
Отказ