Если вы хотите получить последние 10 записей из sql, используйте LIMIT. Предположим, база данных содержит 20 записей. Используйте приведенный ниже запрос
SELECT * FROM TABLE_NAME LIMIT 10,20;
, где 10,20 - это значение смещения. Где 10 - начальный предел, а 20 - конечный предел.
Т.е. 20 -10 = 10 записей
Используйте System.Threading.Timer и укажите TimerCallback (который содержит ваш process.Kill), который будет вызван через 2 минуты. См. пример здесь
//p1.Kill(startingTime.AddMinutes(2));
using (var timer = new Timer(delegate { p1.Kill(); }, null, 2000, Timeout.Infinite))
{
Console.ReadLine(); // do whatever
}
Изменить: решение Джона проще .. меньше типов .. Нет необходимости в утилизации.
Вам следует попробовать использовать службу Windows вместо консольного приложения. У служб Windows есть итеративный жизненный цикл, поэтому этого можно легко достичь с помощью элемента управления таймером в службе Windows. Пусть таймер отсчитывает определенный интервал и выполняет желаемое действие через определенные промежутки времени.
Конечно, вы также можете использовать управление таймером с консольным приложением.